MOOC 哈利 波特的考試(25 分)

2021-08-19 10:46:06 字數 1057 閱讀 4095

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,也可以將...