很水的题,注意输出格式,冒号后面有一个空格 - -
#include <stdio.h>
#define maxn 50000int father[maxn] ;
int ans;
int find (int x)
{
while(father[x]!=x)
{
x=father[x];
}
return x;
}
int lianjie(int x,int y)
{
int rx,ry;
rx=find(x);
ry=find(y);
if(rx!=ry)
{
--ans;
father[ry]=rx;
}
}
int main(int argc, char *argv[])
{
int x,y;
int n,m;
int i;
int k=1;
while(scanf("%d%d",&n,&m)&&n+m)
{
for(i=1;i<maxn;++i)
father[i]=i;
ans=n;
for(i=0;i<m;i++)
{
scanf("%d%d",&x,&y);
x=find(x);
y=find(y);
lianjie(x,y);
}
printf("Case %d: %d\n",k++,ans);//真tm冒号后面有个空格, 坑爹
}
return 0;
}