#include <iostream>
#include<algorithm>
#include<bits/stdc++.h>
using namespace std;
const int N=1001;
int n,m,fa[N];
int degree[N],sum;
void init()
{
for(int i=0;i<N;i++)
fa[i]=i;
}
int find(int x)
{
if(x==fa[x])return x;
else return fa[x]=find(fa[x]);
}
void Union(int x,int y)
{
x=find(x);y=find(y);
if(x==y)return ;
fa[x]=y;
sum--;
}
int main()
{
while(cin>>n&&n){
cin>>m;
memset(degree,0,sizeof(degree));
init();
sum=n;
int a,b;
for(int i=0;i<m;i++){
cin>>a>>b;
degree[a]++;
degree[b]++;
Union(a,b);
}
if(sum==1){
bool flag=true;
for(int i=1;i<=n;i++)
if(degree[i]&1){
flag=false;
break;
}
if(flag)cout<<"1"<<endl;
else cout<<"0"<<endl;
}
else cout<<"0"<<endl;
}
return 0;
}
hdu1878 判断一个无向图是否存在欧拉回路模板
最新推荐文章于 2021-01-23 16:01:15 发布