Problem : 1232 ( 畅通工程 ) Judge Status : AcceptedRunId : 5938141 Language : C Author : qq1203456195Code 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;
}
转载于:https://www.cnblogs.com/CheeseZH/archive/2012/05/13/2498073.html
相关资源:数据结构—成绩单生成器