求大佬帮看,出来结果全是yes
  • 板块P1551 亲戚
  • 楼主Ginaaaa
  • 当前回复7
  • 已保存回复7
  • 发布时间2023/3/26 21:15
  • 上次更新2023/10/23 20:22:02
查看原帖
求大佬帮看,出来结果全是yes
901475
Ginaaaa楼主2023/3/26 21:15
#include<bits/stdc++.h>
using namespace std;
int n,m,p,f[100050];//n 个人,m 个亲戚关系,询问p 对亲戚关系。

int find(int x){//找祖先结点 
	if(f[x]!=x) f[x]=find(f[x]);
	return f[x];
}
void hb(int a,int b){
   f[find(a)]=find(b);
}
int main() {
	scanf("%d %d %d",&n,&m,&p);
	for(int i=1;i<=n;i++) f[i]=1;
	for(int i=1;i<=m;i++) {
		int c,d;
		scanf("%d %d",&c,&d);
	    hb(c,d);
	} 
	for(int i=1;i<=p;i++) {
		int c,d;
		scanf("%d %d",&c,&d);
		if(find(c)==find(d)) printf("Yes\n");
		else printf("NO\n");
	}
	return 0;
}
2023/3/26 21:15
加载中...