为什么会超内存?
查看原帖
为什么会超内存?
574931
rlgrlgrlg楼主2022/4/2 16:34
#include<bits/stdc++.h>
using namespace std;
map<string,string> a;
string find(string b)
{
	return a[b]=="1"?b:a[b]=find(a[b]);
}
int main()
{
	ios::sync_with_stdio(false);
	int n,m,k;
	cin>>n>>m;
	for(int i=1;i<=n;i++)
	{
		string name;
		cin>>name;
		a[name]="1";
	}for(int i=1;i<=m;i++)
	{
		string n1,n2,fn1,fn2;
		cin>>n1>>n2;
		fn1=find(n1),fn2=find(n2);
		if(fn1!=fn2)
		{
			a[fn1]=find(fn2);
		}
	}cin>>k;
	for(int i=1;i<=k;i++)
	{
		string n1,n2;
		cin>>n1>>n2;
		if(find(n1)==find(n2))
		{
			cout<<"Yes."<<'\n';
		}else
		{
			cout<<"No."<<'\n';
		}
	}
} 
2022/4/2 16:34
加载中...