1 #include<cstdio> 2 #include<cstring> 3 int visited[1000]; 4 int find(int x) 5 { 6 if(visited[x]!=x) 7 return find(visited[x]); 8 return x; 9 } 10 void make(int a,int b) 11 { 12 int f1=find(a); 13 int f2=find(b); 14 if(f1!=f2) 15 visited[f2]=f1; 16 } 17 18 int main() 19 { 20 int a[1001]; 21 int n,m,i,j,x,y; 22 while(scanf("%d",&n)!=EOF&&n) 23 { 24 scanf("%d",&m); 25 int key=1; 26 memset(a,0,sizeof(a)); 27 28 for(i=1;i<=n;i++) 29 { 30 visited[i]=i; 31 } 32 for(i=0;i<m;i++) 33 { 34 scanf("%d %d",&x,&y); 35 make(x,y); 36 a[x]++; 37 a[y]++; 38 } 39 if(m<n-1) 40 printf("0\n"); 41 else 42 { 43 44 int root=find(1); 45 for(i=1;i<=n;i++) 46 { 47 if(a[i]%2!=0||find(i)!=root) 48 { 49 key=0; 50 break; 51 } 52 } 53 if(key) 54 printf("1\n"); 55 else 56 printf("0\n"); 57 } 58 } 59 return 0; 60 }
相关文章: