对于这种字符串产生的关系用map来储存父子关系最为方便
#include<iostream>
#include<cstdio>
#include<map>
#include<string>
using namespace std;
map<string,string> student;
int n,m;
string find(string s){
if(s==student[s])return s;
return student[s]=find(student[s]);
}
int main(){
cin>>n>>m;
//初始化
for(int i=0;i<n;i++){
string name;
cin>>name;
student[name]=name;
//printf("在输入第%d个1",i);
}
for(int i=0;i<m;i++){
string A,B;
cin>>A>>B;
student[find(A)]=find(B);
}
int t;
cin>>t;
while(t--){
string a,b;
cin>>a>>b;
if(find(a)==find(b))printf("Yes.\n");
else printf("No.\n");
}
getchar();
return 0;
}