P6937 这是我的代码(c++)
#include<bits/stdc++.h>
using namespace std;
bool zh[26][26];
string s1,s2;
bool flag;
bool bj(string a,string b){
int lena=a.length(),lenb=b.length();
if(lena!=lenb)
return 0;
for(int i=0;i<lena;i++){
if(!zh[a[i]-'a'][b[i]-'a'])
return 0;
}
return 1;
}
int main(){
for(int i=0;i<26;i++){
for(int j=0;j<26;j++){
zh[i][j]=0;
if(i==j)
zh[i][j]=1;
}
}
int m,n;
char a,b;
cin>>m>>n;
for(int i=0;i<m;i++){
cin>>a>>b;
zh[a-'a'][b-'a']=true;
for(int j=0;j<26;j++){
if(zh[j][a-'a'])
zh[j][b-'a']=true;
}
for(int j=0;j<26;j++){
if(zh[b-'a'][j])
zh[a-'a'][j]=true;
}
}
for(int i=0;i<n;i++){
cin>>s1>>s2;
flag=bj(s1,s2);
if(flag)
cout<<"yes"<<endl;
else
cout<<"no"<<endl;
}
}
求dalao解答