7 4 漢密爾頓迴路

2021-08-20 01:18:51 字數 1086 閱讀 3415

n(2)和邊數 

m。隨後 

m 行,每行給出一條邊的兩個端點,格式為「頂點1 頂點2」,其中頂點從 1 到

n 編號。再下一行給出乙個正整數 

k,是待檢驗的迴路的條數。隨後 

k 行,每行給出一條待檢迴路,格式為:n 

v​1​

​v​2

​​⋯v

​n​​

n 是迴路中的頂點數,v​

i​​ 是路徑上的頂點編號。

6 10

6 23 4

1 52 5

3 14 1

1 66 3

1 24 5

67 5 1 4 3 6 2 5

6 5 1 4 3 6 2

9 6 2 1 6 3 4 5 2 6

4 1 2 5 1

7 6 1 3 4 5 2 6

7 6 1 2 5 4 3 1

yes

nono

noyes

no

**:

#include#include#includeusing namespace std;

bool judge(int n, int flag)

} return true;

}int main()

for (int i = 1; i <= m; i++)

int k;

cin >> k;

int n, num;

vectorv;//用vector存放這條路線經過的頂點

for (int i = 0; i < k; i++)

if (n != n + 1)

else

}if (judge(n, flag)&&v[0]==v[n-1])

else

} memset(flag, 0, sizeof(flag));//每一條路線結束之後要清空vector和flag

for (int i = 0; i < n; i++)

} return 0;

}

漢密爾頓迴路

問題表面跟尤拉迴路是差不多的,但至今也沒有人能給出漢密頓迴路的充分必要條件。老師說是什麼n p問題。反正就是沒有得證,特別難的意思。漢密爾頓路 對於乙個連通圖,如果你能夠從乙個點開始,然後不重複地走過所有的點,這個路就是漢密爾頓路。漢公尺爾頓迴路 對於乙個連通圖,如果你能夠從乙個點開始,然後不重複地...

漢密爾頓迴路 (25 分)

著名的 漢密爾頓 hamilton 迴路問題 是要找乙個能遍歷圖中所有頂點的簡單迴路 即每個頂點只訪問 1 次 本題就要求你判斷任一給定的迴路是否漢密爾頓迴路。首先第一行給出兩個正整數 無向圖中頂點數 n 2n 其中 n 是迴路中的頂點數,對每條待檢迴路,如果是漢密爾頓迴路,就在一行中輸出 yes ...

漢密爾頓迴路 25分

著名的 漢密爾頓 hamilton 迴路問題 是要找乙個能遍歷圖中所有頂點的簡單迴路 即每個頂點只訪問 1 次 本題就要求你判斷任一給定的迴路是否漢密爾頓迴路。輸入格式 首先第一行給出兩個正整數 無向圖中頂點數 n 2其中 n 是迴路中的頂點數,vi是路徑上的頂點編號。輸出格式 對每條待檢迴路,如果...