有没有帮忙,找到问题了必关
#include<bits/stdc++.h>
using namespace std;
int n,m,k;
struct shuzu{
string mingzi;
int bianhao;
};
shuzu a[20005];
int f(int x1,string x2){
while(a[x1].mingzi!=x2) x2=a[x1].mingzi;
return x1;
}
int c(string as){
for(int i=1;i<=n;i++){
if(a[i].mingzi==as) return a[i].bianhao;
}
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>a[i].mingzi;
a[i].bianhao=i;
}
for(int i=1;i<=m;i++){
string s1,s2;
cin>>s1>>s2;
int x=f(c(s1),s1),y=f(c(s2),s2);
a[x].bianhao=y;
}
cin>>k;
while(k--){
string s3,s4;
cin>>s3>>s4;
int x=f(c(s3),s3),y=f(c(s4),s4);
if(x==y) cout<<"Yes.";
else cout<<"No.";
cout<<endl;
}
return 0;
}
只得了40分,样例没过,求大佬帮助