題意:就是讓你求哈密爾頓環,並輸出所有可能的路徑。
思路:用乙個陣列path[n]來儲存路徑,然後暴搜就可以了,不過回退的時候,visited[i]應該置為0。
1 #include2const
int n=20;3
using
namespace
std;
4int map[n+1][n+1];5
int visited[n+1];6
int path[n+1];7
int m,_count=1;8
9void
initiate()17}
18}1920
void
print()
25 printf("
%d\n
",m);26}
2728
2930
//now為當前的城市,num為已經走過的城市的個數
31void dfs(int now,int
num)
39 }else44}
45}46 visited[now]=0;//
如果不存在路時要恢復47}
4849
5051
intmain()
58return1;
59 }
hdu 2181 哈密爾頓環)
題意 就是讓你求哈密爾頓環,並輸出所有可能的路徑。思路 用乙個陣列path n 來儲存路徑,然後暴搜就可以了,不過回退的時候,visited i 應該置為0。1 include2 const int n 20 3 using namespace std 4int map n 1 n 1 5 int ...
哈密爾頓環
尤拉迴路是指不重複的走過所有路徑的迴路,而哈密爾頓環是指不重複地走過所有的點,並且最後還能回到起點的迴路。使用簡單的深度優先搜尋,就能求出一張圖中所有的哈密爾頓環,下面給出一段參考程式 include include include include include include include u...
哈密爾頓環
定義 指的是不重複走過所有的點。並且最後還能回到起點的路。簡單的深度優先搜尋就能求出一張圖中所有的哈密爾頓環 1 include 2 include 3 include 4 5using namespace std 6int start,length,x,n 7const int maxn 101 ...