求助为啥只有30分
查看原帖
求助为啥只有30分
1160851
chengkelin2024楼主2024/5/20 12:46
#include <bits/stdc++.h>
using namespace std;
int fa[5050];
int find(int x){
	if(fa[x]==x) return x;
	return fa[x] = find(fa[x]);
} 
void join(int a,int b){
	int x = find(a); 
	int y = find(b);
	if(x!=y){
		fa[a] = b;
	}
}
int main() {
	int k;
	cin>>k; 
	int n,m;
	cin>>n>>m;
	for(int i = 1;i<=k;i++){
		fa[i] = i; 
	}
	while(n--){
		int a,b;
		cin>>a>>b; 
		join(a,b); 
	} 
	while(m--){
		int a,b;
		cin>>a>>b;
		if(find(a)==find(b)){
			cout<<"Yes"<<endl;
		} 
		else{
			cout<<"No"<<endl;
		}
	} 

	return 0;
}


谢谢

2024/5/20 12:46
加载中...