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了
求问各位大佬,这到底是为什么?