码迷,mamicode.com
首页 > 其他好文 > 详细

欧拉回路

时间:2016-04-19 06:15:15      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:

//HDU 1878 欧拉回路
//非并查集写法,欧拉回路的限制条件:1.应该是一个一个连通图
// 2.每一个点应该是有偶数个点和它相连。二者都满足就是一个欧拉回路
#include<stdio.h> #include<stdlib.h> #include<string.h> #define N 1100 int n, m; int maps[N][N], vis[N], visit[N]; void DFS(int x) { visit[x]=1; for(int i=1; i<=n; i++) { if(maps[x][i]&&visit[i]==0) DFS(i); } } int main() { int a, b; while(scanf("%d", &n), n) { scanf("%d", &m); memset(maps, 0, sizeof(maps)); memset(vis, 0, sizeof(vis)); memset(visit, 0, sizeof(visit)); for(int i=0; i<m; i++) { scanf("%d%d", &a, &b); if(maps[a][b]==0) { vis[a]++; vis[b]++; } maps[a][b]=maps[b][a]=1; } int flag=0, flag1=0; DFS(1); for(int i=1; i<=n; i++) if(visit[i]==0) { flag=1; break; } for(int i=1; i<=n; i++) if(vis[i]%2==1) { flag1=1; break; } if(flag==0&&flag1==0) printf("1\n"); else printf("0\n"); } return 0; }

 

欧拉回路

标签:

原文地址:http://www.cnblogs.com/9968jie/p/5406504.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!