60pts求调
查看原帖
60pts求调
1195928
___xuzhimo___楼主2025/1/2 19:47

题目:P2256

#include<bits/stdc++.h>
using namespace std;
string s,ss;
char c;
map<string,string> a;
string find(string s){
	if(s==a[s]){
		return s;
	}
		return a[s]=find(a[s]);
}
void join(string x,string y){
	if(find(x)!=find(y))
	a[x]=y;
}
int main(){
	int n,m,p;
	cin>>n>>p;
	for(int i=0;i<n;i++){
		string aaaa;
		cin>>aaaa;
		a[aaaa]=aaaa;
	}
	for(int i=0;i<p;i++){
		string aa,bb;
		cin>>aa>>bb;
		if(find(aa)!=find(bb)){
			join(aa,bb);
		}
	}
	cin>>m;
	for(int i=0;i<m;i++){
		string aa,bb;
		cin>>aa>>bb;
		if(find(aa)==find(bb)){
			cout<<"Yes.";
		}
		else{
			cout<<"No.";
		}
		cout<<"\n";
	}
	system("pause");
	return 0;
}
2025/1/2 19:47
加载中...