文章

2

粉丝

27

获赞

1

访问

748

头像
魔咒词典 题解:
P1339 浙江大学机试题
发布于2024年9月16日 15:43
阅读数 366

佬们,能帮忙看看这个代码为啥之能过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;
}

 

登录查看完整内容


登录后发布评论

2 条评论
snake VIP
2024年9月16日 19:39

不要用cin>>s,都用getline,魔咒可能是由多个单词组成的字符串

 

赞(1)

柠檬果果 : 回复 snake: 懂了,谢谢您!

2024年9月16日 20:52