不会什么简单算法,只会多次for循环多次遍历(偷同学的竞赛题)
代码如下
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
int n,m,x,y,number;
scanf("%d%d",&n,&m);
int a[10000]={0};
for(int i=0;i<m;i++)
{
scanf("%d%d",&x,&y);
if(a[x]==0&&a[y]==0)
{
a[x]=a[y]=i;
}else if(a[x]==0&&a[y]!=0)
{
a[x]=a[y];
}else if(a[y]==0&&a[x]!=0)
{
a[y]=a[x];
}else
{
continue;
}
}
for(int i=1;i<=n;i++)
{
for(int j=i+1;j<=n;j++)
{
if(a[i]==a[j])
{
a[j]=0;
}
}
}
number=0;
for(int i=1;i<=n;i++)
{
if(a[i]!=0)
{
number++;
}
}
printf("%d",number);
return 0;
}