n (≤)和
m,其中
n是考試涉及的動物總數,
m是用於直接變形的魔咒條數。為簡單起見,我們將動物按1~
n編號。隨後
m行,每行給出了3個正整數,分別是兩種動物的編號、以及它們之間變形需要的魔咒的長度(≤),數字之間用空格分隔。
6 11
3 4 70
1 2 1
5 4 50
2 6 50
5 6 60
1 3 70
4 6 60
3 6 80
5 1 100
2 4 60
5 2 80
4 70
這是一道圖的題目,用floyd演算法將最短路徑矩陣求出來之後,就很好處理了。程式中需要判斷圖是否連同的,只需要看最短路徑裡面是否包含極值就行了,如果包括極值的話,說明這兩個點之間沒有路徑,那就不是連同圖。c++**如下:
#include using namespace std;
#define infinity 65535
int g[100][100];
int d[100][100];
int nv, ne;//頂點數與邊數
void buildgraph()
for (int i = 0; i < ne; i++) }
void floyd()
for (int k = 0; k < nv; k++)
for (int i = 0; i < nv; i++)
for (int j = 0; j < nv; j++)
if (d[i][k] + d[k][j] < d[i][j]) }
int main()
if (d[i][j]>max)
}} min = minnum[0];
for (int i = 0; i < nv; i++) }
cout << flag + 1 << " " << min;
return 0;
}
哈利 波特的考試 (25 分
哈利 波特要考試了,他需要你的幫助。這門課學的是用魔咒將一種動物變成另一種動物的本事。例如將貓變成老鼠的魔咒是haha,將老鼠變成魚的魔咒是hehe等等。反方向變化的魔咒就是簡單地將原來的魔咒倒過來念,例如ahah可以將老鼠變成貓。另外,如果想把貓變成魚,可以通過念乙個直接魔咒lalala,也可以將...
7 11 哈利 波特的考試(25 分)
哈利 波特要考試了,他需要你的幫助。這門課學的是用魔咒將一種動物變成另一種動物的本事。例如將貓變成老鼠的魔咒是haha,將老鼠變成魚的魔咒是hehe等等。反方向變化的魔咒就是簡單地將原來的魔咒倒過來念,例如ahah可以將老鼠變成貓。另外,如果想把貓變成魚,可以通過念乙個直接魔咒lalala,也可以將...
7 8 哈利 波特的考試 (25 分)
哈利 波特要考試了,他需要你的幫助。這門課學的是用魔咒將一種動物變成另一種動物的本事。例如將貓變成老鼠的魔咒是haha,將老鼠變成魚的魔咒是hehe等等。反方向變化的魔咒就是簡單地將原來的魔咒倒過來念,例如ahah可以將老鼠變成貓。另外,如果想把貓變成魚,可以通過念乙個直接魔咒lalala,也可以將...