文章

35

粉丝

134

获赞

55

访问

25.3k

头像
魔咒词典 题解:代码较简洁版
P1339 浙江大学机试题
发布于2024年1月20日 18:21
阅读数 435

#include <bits/stdc++.h>
using namespace std;
//凡是字符串可能含空格或者换行的,用getline(cin,s)、gets(s)、fget是(字符数组名,字符数组最大值,stdin)之前,检查前面缓冲区是否需要getchar()
int main(){
    map<string,string>mp;
    string s;
    while(1){
      getline(cin,s);
      if(s=="@END@")break;
      int pos=s.find("]");//分界
      mp[s.substr(0,pos+1)]=s.substr(pos+2);
      mp[s.substr(pos+2)]=s.substr(0,pos+1);
    }
    
    int m;
    cin>>m;
    getchar();//
    string key;
    while(m--){//查询
      getline(cin,key);
      string ans=mp[key];
      if(ans=="")ans="what?";
      else if(ans[0]=='['){
        ans=ans.substr(1,ans.size()-2);
      }
      cout<<ans<<endl;
    }
  return 0;
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发