文章
2
粉丝
27
获赞
1
访问
748
佬们,能帮忙看看这个代码为啥之能过50%吗?自己测试着没有任何问题,谢谢!!!
#include<bits/stdc++.h>
using namespace std;
int main(){
string s,txt;
map<string,string> mp;
while(cin>>s){
if(s=="@END@") break;
getline(cin,txt);
s.erase(0,1);
s.erase(s.size()-1,1);
txt.erase(0,1);
mp.insert({s,txt});
mp.insert({txt,s});
}
int n;
cin>>n;
getchar();
string s2;
while(n--){
getline(cin,s2);
//cout<<s2<<endl<<endl;//
if(s2[0]=='['){
s2.erase(0,1);
s2.erase(s2.size()-1,1);
if(mp.find(s2)!=mp.end()) cout<<mp[s2]<<endl;
else cout<<"what?"<<endl;
}
else{
if(mp.find(s2)!=mp.end()) cout<<mp[s2]<<endl;
else cout<<"what?"<<endl;
}
}
return 0;
}
登录后发布评论
不要用cin>>s,都用getline,魔咒可能是由多个单词组成的字符串