20求调
  • 板块P1551 亲戚
  • 楼主Astellar
  • 当前回复2
  • 已保存回复2
  • 发布时间2023/8/14 00:39
  • 上次更新2023/11/3 03:59:30
查看原帖
20求调
1029690
Astellar楼主2023/8/14 00:39
#include<bits/stdc++.h>
using namespace std;
int r[10000]={0};
void init(int n){
	for(int i=0;i<n;i++){
		r[i]=i;
	} 
}
int find(int x){
	if(r[x]=x)return x;
	else return find(r[x]);
}
void merge(int i, int j)
{
    r[find(i)] = find(j);
}

int main(){
	int n,m,p,a,b;
	cin>>n>>m>>p;
	init(n);
	for(int i=0;i<m;i++){
		cin>>a>>b;
		merge(a,b);
	}
	for(int i=0;i<p;i++){
		cin>>a>>b;
		if(find(a)==find(b))cout<<"Yes"<<endl;
		else cout<<"No"<<endl;
	}
} 
2023/8/14 00:39
加载中...