HDU-1878 欧拉回路判定
来源:互联网 发布:nodejs调用python脚本 编辑:程序博客网 时间:2024/06/10 03:24
入门题目。
/* * hdu-1878 欧拉回路 * mike-w * 2011-10-3 */#include<stdio.h>#include<stdlib.h>#include<string.h>#define MAXN 1111int set[MAXN];int rank[MAXN];int degree[MAXN];int init(int size){int i;for(i=1;i<=size;i++)set[i]=i,rank[i]=1;return 0;}int find(int e){int node=e,root;while(set[node]!=node)node=set[node];root=node;while(set[e]!=root)set[e]=root;return root;}int merge(int e1,int e2){int r1=find(e1),r2=find(e2);if(r1==r2)return 0;if(rank[r1]>rank[r2])set[r2]=r1;else if(rank[r1]<rank[r2])set[r1]=r2;elseset[r1]=r2,rank[r2]++;return 1;}int main(void){int N,M;int nset,even,i,t1,t2;#ifndef ONLINE_JUDGEfreopen("1878.in","r",stdin);#endifwhile(scanf("%d%d",&N,&M),N){init(N);memset(degree,0,sizeof(degree));nset=N;for(i=0;i<M;i++){scanf("%d%d",&t1,&t2);degree[t1]++;degree[t2]++;if(merge(t1,t2))nset--;}even=0;for(i=1;i<=N;i++)if(degree[i]&0x1)even++;if(even || nset>1 )printf("%d\n",0);elseprintf("%d\n",1);}return 0;}
- HDU 1878 欧拉回路(简单欧拉回路判定)
- HDU-1878 欧拉回路判定
- HDU 1878 欧拉回路 Tarjan+欧拉判定
- 欧拉通路 欧拉回路的判定 Hdu 1878 欧拉回路
- 【欧拉回路(无向图判定)】hdu 1878 欧拉回路
- 【HDU 1878】欧拉回路(并查集,欧拉回路概念及判定)
- HDOJ 欧拉回路 1878【欧拉回路判定】
- hud 1878 欧拉回路的判定
- 欧拉回路的判定
- HDU 1878 欧拉回路
- hdu 1878 欧拉回路
- 【欧拉回路】hdu 1878
- hdu 1878 欧拉回路
- HDU 1878 欧拉回路
- hdu 1878 欧拉回路
- hdu 1878 欧拉回路
- hdu 1878 欧拉回路
- HDU-1878-欧拉回路
- 《30天精通iPhone手机编程》-Day18-音乐播放器
- 即使是js,也请关注你的业务
- Firefox 7 has just released!
- unix 自动创建文件
- hdu 3348
- HDU-1878 欧拉回路判定
- 编程珠玑第12章
- 常用lunix命令
- http://www.tbdata.org/archives/878
- Resharper上手指南
- vc++ MessageBox使用方法
- C# 异常处理
- Linux修改语言
- 案例二:半双工通讯(通过控制台互发消息)