Problem : 1232 ( 畅通工程 ) Judge Status : Accepted
RunId : 5938141 Language : C Author : qq1203456195
Code Render Status : Rendered By HDOJ C Code Render Version 0.01 Beta
RunId : 5938141 Language : C Author : qq1203456195
Code Render Status : Rendered By HDOJ C Code Render Version 0.01 Beta
#include <stdio.h> #include <string.h> int set[1005],s,n; void MergeSet(int a,int b) { int i; s--; for (i=0;i<n;i++) { if(set[i]==a) set[i]=b; } } int main() { int i,m,a,b,f,t; while(scanf("%d",&n),n) { s=n-1; scanf("%d",&m); for (i=0;i<n;i++) set[i]=i; for (i=0;i<m;i++) { scanf("%d%d",&a,&b); f=set[a-1]; t=set[b-1]; if(f!=t) MergeSet(f,t); } printf("%d\n",s); } return 0; }