哇哇哇,救命啊!!全WA
  • 板块P1536 村村通
  • 楼主FHollowb
  • 当前回复10
  • 已保存回复10
  • 发布时间2020/11/19 16:30
  • 上次更新2023/11/5 07:43:54
查看原帖
哇哇哇,救命啊!!全WA
318256
FHollowb楼主2020/11/19 16:30

求助

#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int f[1003];
int find(int x)
{
	if(f[x]!=x)
	return f[x]=find(f[x]);
	else return f[x];
}

int join(int a,int b)
{
	int x=find(a);
	int y=find(b);
	if(x!=y&&x<=y)
	return f[y]=x;
	if(x!=y&&x>y)
	return f[x]=y;
}
int main()
{
	int n,m;
	while(scanf("%d%d",&n,&m)!=EOF)
	{
		for(int i=1;i<=n;i++)
		f[i]=i;
		int a,b,k=0;
		for(int i=1;i<=m;i++)
		{
			scanf("%d%d",&a,&b);
			join(a,b);
		}
		if(m==0)scanf("%d",&a);
		sort(f+1,f+1+n);
		for(int i=2;i<=n;i++)
		{
			if(f[i]!=f[i-1])k++;
		}
		cout<<k<<endl;
	}
}
2020/11/19 16:30
加载中...