題目描述
給出乙個有向圖 g = (v, e),和乙個源點 v0 ∈ v,請寫乙個程式輸出 v0 和圖 g 中其它頂點的最短路徑。
只要所有的有向環權值和都是正的,我們就允許圖的邊有負值,頂點的標號從 1 到 n(n 為圖 g 的頂點數)。
輸入格式
第 1 行:乙個正數 n,表示圖 g 的頂點總數。
第 2 行:乙個整數,表示源點 v0(v0 ∈ v,v0 可以是圖 g 中任意乙個頂點)。
第 3 至第 n + 2 行,用乙個鄰接矩陣 w 給出了這個圖。
輸出格式
共包含 n - 1 行,按照頂點編號從小到大的順序,每行輸出源點 v0 到乙個頂點的最短距離。
每行的具體格式參照樣例。
輸入樣例
510
2--10
-03-
7--0
4---
-05-
-6-0
輸出樣例(1 -> 2) = 2
(1 -> 3) = 5
(1 -> 4) = 9
(1 -> 5) = 9
提示
題解
floyd:
scanf 的返回值為成功讀入的變數個數,以scanf("%d%d", &a, &b)
為例;
當輸入1 1
時返回2
;
當輸入1 c
時返回1
;
當輸入c c
時返回0
;
#include
#include
#include
using
namespace std;
const
int n =
100, inf =
0x3f3f3f3f
;int n, s, x;
int g[n]
[n];
void
floyd()
intmain()
錯解:為啥這樣讀入只過了三個資料 ???
#include
#include
#include
using
namespace std;
const
int n =
100, inf =
0x3f3f3f3f
;int n, s;
int g[n]
[n];
void
floyd()
intmain()
}floyd()
;for
(int i =
1; i <= n; i ++)if
(i != s)
printf
("(%d -> %d) = %d\n"
, s, i, g[s]
[i])
;return0;
}
最短路(資訊學奧賽一本通 T1382)
題目描述 給定 m 條邊,n 個點的帶權無向圖,求 1到 n 的最短路。注意圖中可能有重邊和自環,資料保證 1 到 n 有路徑相連。輸入格式 第一行 n,m 接下來 m 行 3 個正整數 ai,bi,ci 表示 ai,bi 之間有一條長度為 ci 的路 輸出格式 乙個整數,表示 1 到 n 的最短距...
計算(資訊學奧賽一本通 T1356)
題目描述 小明在你的幫助下,破密了ferrari設的密碼門,正要往前走,突然又出現了乙個密碼門,門上有乙個算式,其中只有 0 9,求出的值就是密碼。小明數學學得不好,還需你幫他的忙。用整數除法 輸入格式 共 1 行,為乙個算式。輸出格式 共 1 行,就是密碼。輸入樣例 1 3 2 7 2 69 2 ...
均值(資訊學奧賽一本通 T1060)
題目描述 給出一組樣本資料,包含n個浮點數,計算其均值,精確到小數點後4位。輸入 輸入有兩行,第一行包含乙個整數n n小於100 代表樣本容量 第二行包含n個絕對值不超過1000的浮點數,代表各個樣本資料。輸出 輸出一行,包含乙個浮點數,表示均值,精確到小數點後4位。輸入樣例 21.0 3.0 輸出...