求指点全WA但是过了样例
  • 板块P1536 村村通
  • 楼主dinghao11
  • 当前回复2
  • 已保存回复2
  • 发布时间2023/4/13 01:22
  • 上次更新2023/10/23 18:37:37
查看原帖
求指点全WA但是过了样例
880162
dinghao11楼主2023/4/13 01:22
#include <bits/stdc++.h>
using namespace std;

int f[1010];
int ans;
int find(int x) {
	if(x==f[x])
		return x;
	return f[x]=find(f[x]);
}

void join(int x,int y) {
	int f1=find(x);
	int f2=find(y);
	if(f1!=f2) {
		f[f1]=f2;
		ans--;
	}
}

int main() {
	int n,m;
	while(cin>>n) {
		if(n==0) break;
		cin>>m;
		int x,y;
		ans=n;
		for(int i=0; i<n; ++i) {
			f[i]=i;
		}
		for(int j=0; j<m; ++j) {
			cin>>x>>y;
			join(x,y);
		}
		cout<<ans-1<<endl;
	}
	return 0;
}
2023/4/13 01:22
加载中...