【題目描述】
郵遞員在送信時,為了節省路途,自己規定:每次總是從 n 個村子中選擇其中乙個合適的村子出發,途中每個村子僅且經過一次,送完所有的信。已知各個村子的道路連通情況。輸出所有符合要求的路線。如果沒有輸出「no road」。
【輸入】
第一行:整數 n:村子的個數。接下來是乙個 n*n 的 0、1 矩陣,表示 n 個村子的連同情況,如:a[i,j]=1 ,表示第 i 和第 j 個村子之間有路可走,如果 a[i,j]=0,表示他們之間無路可走。
【輸出】
按序號從小到大輸出所有可行的線路
【樣例輸入】
0 1 0 1 1 0 0
1 0 1 0 1 0 0
0 1 0 0 0 0 1
1 0 0 0 0 0 0
1 1 0 0 0 1 0
0 0 0 0 1 0 1
0 0 1 0 0 1 0
【樣例輸出】
2 3 7 6 5 1 4
3 7 6 5 2 1 4
4 1 2 3 7 6 5
4 1 2 5 6 7 3
4 1 5 2 3 7 6
4 1 5 6 7 3 2
5 6 7 3 2 1 4
6 7 3 2 5 1 4
********************===題解********************==
深搜。首先鄰接表存圖,之後從1開始深搜,用vis陣列記錄是否走過,return時改回false,走過的地方數等於總數時或vis==true時return。在遞迴時同時輸出答案。
哈密頓迴路
圖類 include include include include includeusing namespace std template t為頂點的資料型別,e為圖中邊的權值的資料型別 class graph 返回最大頂點數 int numberofedges 返回當前邊數 t getvalue...
哈密頓迴路
哈密頓迴路好多,其實不是很難,但是看了一天了。看一會睡一會,什麼狀態啊。view code 題目 題目分析 有敵對關係的小朋友,不能坐在一起。最後圍成乙個圈,吃飯。將小朋友看成點,有敵對關係的看成沒有邊,最後構成乙個迴路。哈密頓迴路。小小總結 哈密頓迴路 充分條件 無向連通圖中任意2點度數之和大於等...
哈密頓迴路
quad 設無向圖 g v,e 其中 v 是點集,e 是邊集,n v 表示圖中點的數量,m e 表示圖中邊的數量。hamilton 通路 quad 經過圖 g 中每個節點一次且僅一次的通路稱為 hamilton 通路 hamilton 迴路 quad 經過圖 g 中每個節點一次且僅一次的通路稱為 h...