感觉没毛病但是全WA!
  • 板块P1536 村村通
  • 楼主lwthree
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/10/16 13:14
  • 上次更新2023/11/2 13:29:06
查看原帖
感觉没毛病但是全WA!
897873
lwthree楼主2023/10/16 13:14
#include <bits/stdc++.h>
using namespace std;

int n,m;
int fa[10500];
int sum=0;
int pos=0;
int evfa[10500];
int input1,input2;
	
bool had(int x){
	for (int i=1;i<=pos;i++){
		if (evfa[i]==x)
			return true;
	}
	return false;
}

int find(int x){
	if (fa[x]==x) return x;
	else return fa[x]=find(fa[x]);
}

void join(int x,int y){
	int fax=find(x),fay=find(y);
	if (fax!=fay) fa[x]=fa[y];
}

int main(){
	int n,m;int a,b;
	while (true){
		pos=0;
		sum=0;
		cin>>n;
		for (int i=1;i<=n;i++) fa[i]=i;
		if (n!=0){
			cin>>m;
			for (int i=1;i<=m;i++){
				cin>>a>>b;
				join(a,b);
			}
		}
		else break;
		for (int i=1;i<=n;i++){
			if (!had(find(fa[i]))){
				sum++;
				evfa[++pos]=find(fa[i]);
//				cout<<pos<<' '<<fa[i]<<endl;
			}
		}
		cout<<sum-1<<endl;
	}
	return 0;
} 
2023/10/16 13:14
加载中...