HDU4337 King Arthur's Knights【哈密顿回路】
2017-08-09 08:46
267 查看
题意:输出一条哈密顿回路
思路:由于每个点的度大于等于(N+1)/ 2,所以一定存在,用一下模板
思路:由于每个点的度大于等于(N+1)/ 2,所以一定存在,用一下模板
#include<stdio.h> #include<iostream> #include<string.h> #include<string> #include<stdlib.h> #include<math.h> #include<vector> #include<list> #include<map> #include<stack> #include<queue> #include<algorithm> #include<numeric> #include<functional> using namespace std; typedef long long ll; const int maxn = 155; int n; bool G[maxn][maxn]; int x[maxn];//记录回路中的第i个点 void init() { memset(G,0,sizeof G); } void hamilton() { bool s[maxn]; for(int i = 0; i < n; i++) { x[i] = -1; s[i] = false; } int k = 1; s[0] = true; x[0] = 0; while(k >= 0) { x[k]++; while(x[k] < n) { if(!s[x[k]] && G[x[k - 1]][x[k]]) break; else x[k]++; } if((x[k] < n) && (k != n - 1)) { s[x[k++]] = true; } else if( (x[k] < n) && k == n - 1 && G[x[k]][x[0]] ) break; else { x[k] = -1; k--; s[x[k]] = false; } } }//hamilton函数中下标从0开始 int main(void) { int m,i; while(scanf("%d %d",&n,&m)!=EOF) { init(); while(m--) { int a,b; scanf("%d%d",&a,&b); a--;b--; G[a][b] = G[b][a] = 1; } hamilton(); for(i = 0; i < n; i++) printf("%d%c",x[i]+1,i==n-1?'\n':' '); } return 0; }
相关文章推荐
- hdu4337 King Arthur's Knights
- hdu4337 King Arthur's Knights
- hdu4337 King Arthur's Knights(dfs回溯)
- hdu - 4337 - King Arthur's Knights - 哈密顿回路
- HDU 4337 King Arthur's Knights(暴力dfs)
- King Arthur's Knights hdu 4337 汉密尔顿图(模板)
- HDU&nbsp;4337&nbsp;King&nbsp;Arthur&#039;s&nbsp;Knights(…
- hdu 4337 King Arthur's Knights(dfs)
- KING ARTHUR'S ROUND TABLE AND HTML Component (HTC) Memory Leak
- pku 3682 King Arthur's Birthday Celebration(负二项分布、帕斯卡分布以及期望方差公式的应用)
- poj3682 King Arthur's Birthday Celebration
- poj3682[King Arthur's Birthday Celebration] 简单期望概率
- 花费期望 King Arthur's Birthday Celebration(poj3682)
- hdu 4337 King Arthur's Knights
- poj3682 King Arthur's Birthday Celebration (概率)
- HDU 4337 King Arthur's Knights——回溯法
- POJ 3682 King Arthur's Birthday Celebration (概率DP)
- HDU 4337 King Arthur's Knights 它输出一个哈密顿电路
- HDOJ&nbsp;&nbsp;4337&nbsp;&nbsp;&nbsp;King&nbsp;Arthur&#039;s&nbsp;Knigh…
- HDU4337(哈密顿回路)