和上一篇hdu1232基本一样,就cnt=-1改为cnt=0
#include<cstdio>
int set[50005];
int find(int x)
{
int r=x;
while(r!=set[r]){
r=set[r];
}
int i=x;
while(i!=r){
int j=i;
i=set[i];
set[j]=r;
}
return r;
}
void merge(int x,int y)
{
x=find(x);
y=find(y);
if(x!=y)set[y]=x;
}
int main()
{
int n,m,cas=0;
//freopen("int.txt","r",stdin);
while(~scanf("%d%d",&n,&m)&&(n||m)){
cas++;
int x,y;
for(int i=1;i<=n;i++)set[i]=i;
for(int i=1;i<=m;i++){
scanf("%d%d",&x,&y);
merge(x,y);
}
int cnt=0;
for(int i=1;i<=n;i++){
if(i==set[i])cnt++;
}
printf("Case %d: %d\n",cas,cnt);
}
return 0;
}