求救!
  • 板块P1551 亲戚
  • 楼主No_42
  • 当前回复4
  • 已保存回复4
  • 发布时间2022/8/1 17:10
  • 上次更新2023/10/27 17:29:21
查看原帖
求救!
609558
No_42楼主2022/8/1 17:10

WA了,但下载数据,看起来输出没问题

#include<iostream>
using namespace std;
int father[5001];
int find(int x){
	if(x!=father[x]) father[x]=find(father[x]);
	return father[x];
}
void merge(int x,int y){
	father[y]=x;
}

int main(){
	
	int m,n,p;
	cin>>n>>m>>p;
	for(int i=1;i<=n;i++) father[i]=i;
	for(int i=1;i<=m;i++){
		int x,y;
		cin>>x>>y;
		x=find(x);
		y=find(y);
		if(x!=y)merge(x,y);
		
	}
	for(int i=1;i<=m;i++){
		int x,y;
		cin>>x>>y;
		if(find(x)==find(y)) cout<<"Yes"<<endl;
		else cout<<"No"<<endl;
	}
	return 0;
}

第一个点的输入数据是

10 20 10
10 5
5 6
2 9
4 2
4 9
8 5
4 6
5 1
9 1
5 1
6 5
6 1
3 10
8 9
4 1
2 6
2 9
4 9
3 7
1 3
9 4
6 8
8 3
3 8
8 3
8 10
3 2
8 10
3 1
1 2

答案全是“Yes”

我的输出也全是Yes,但WA了

求问各位大佬,这到底是为什么?

2022/8/1 17:10
加载中...