5个点都RE求助
查看原帖
5个点都RE求助
527425
wyhnet楼主2022/7/20 14:53

RT,map+并查集,求调。

#include <bits/stdc++.h>
using namespace std;
const int N=2e4+10;
map<string,string> fa;
int n,m,k;
string find(string s){
	if(fa[s]==s) return s;
	return fa[s]=find(fa[s]);
}
void merge(string s1,string s2){
	fa[find(s2)] = find(s1);
}
int main(){
	scanf("%d %d",&n,&m);
	for(int i=1;i<=n;i++){
		string s;
		scanf("%s",&s);
		fa[s] = s;
	}
	for(int i=1;i<=m;i++){
		string s1,s2;
		scanf("%s %s",&s1,&s2);
		merge(s1,s2);
	}
	scanf("%d",&k);
	for(int i=1;i<=k;i++){
		string s1,s2;
		scanf("%s %s",&s1,&s2);
		if(find(s1)==find(s2)) printf("Yes.\n");
		else printf("No.\n");
	} 
	return 0;
}
2022/7/20 14:53
加载中...