代码:
#include<iostream>
#include<stdio.h>
using namespace std;
int re[50010];
int init(int &n)
{
for(int i=0; i<n+1; i++)
re[i]=i;
return 0;
}
int find(int x)
{
if(re[x]==x)
return x;
re[x]=find(re[x]);
return re[x];
}
int main()
{
int n,m,p,q;
int i,j,k=0,ans;
while(scanf("%d%d",&n,&m),(m&&n))
{
k++;
ans=0;
init(n);
for(i=0; i<m; i++)
{
scanf("%d%d",&p,&q);
p=find(p);
q=find(q);
if(p!=q)
re[p]=q;//re[q]=p;
}
for(i=1; i<=n; i++)
if(re[i]==i)
ans++;
printf("Case %d: %d\n",k,ans);
}
return 0;
}