就是说啊,每个片段都过了,但整体上就过不了。只会输出第一个符号以前的正确答案
#include<iostream>
#include<string>
#include<cstring>
using namespace std;
const int N=1e3+5;
string a[N];
string b[N];
int main(){
int n;
cin>>n;
for(int i=0;i<n;i++){
cin>>a[i]>>b[i];
}
string s;
cin>>s;
int len=s.size();
string p;
for(int i=0;i<len;i++){
if(s[i]>=97 && s[i]<=122){
p+=s[i];
}
else{
for(int j=0;j<n;j++){
if(a[j]==p){
cout<<b[j]<<s[i];
break;
}
}
}
}
for(int j=0;j<n;j++){
if(a[j]==p){
cout<<b[j]<<endl;
break;
}
}
return 0;
}