标签:
JGShining
1 #include <cstdio> 2 using namespace std; 3 4 const int MAX=1050; 5 int f[MAX]; 6 7 int sf(int x) 8 { 9 return x==f[x]?x:f[x]=sf(f[x]); 10 } 11 int main() 12 { 13 int n,m,a,b,ans; 14 while(scanf("%d",&n)!=EOF&&n) 15 { 16 ans=0; 17 scanf("%d",&m); 18 for(int i=1;i<=n;i++) 19 f[i]=i; 20 for(int i=1;i<=m;i++) 21 { 22 scanf("%d%d",&a,&b); 23 f[sf(a)]=sf(b); 24 } 25 for(int i=1;i<=n;i++) 26 { 27 if(f[i]==i) ans++; 28 } 29 printf("%d\n",ans-1); 30 } 31 }
标签:
原文地址:http://www.cnblogs.com/cumulonimbus/p/5169930.html