题解 | #魔咒词典#

魔咒词典

https://www.nowcoder.com/practice/c6ca566fa3984fae916e6d7beae8ea7f

#include <cstdio>
#include <iostream>
#include <string>
#include <map>

using namespace std;

int main(){
    string str;
    map<string, string> charmsToFunction;
    map<string, string> functionToCharm;
    while(getline(cin,str)) {
        if (str == "@END@") {
            break;
        }

        int pos = str.find("]");
        string key = str.substr(1, pos - 1);
        string function = str.substr(pos + 2);
        charmsToFunction[key] = function;
        functionToCharm[function] = key;
    }
        int samples;
        scanf("%d\n",&samples);
        while(samples--){
            string s,answer;
            getline(cin,s);
            if(s[0]!='['){
                answer=functionToCharm[s];
            }else{
                int p=s.find("]");
                s=s.substr(1,p-1);
                answer=charmsToFunction[s];
            }
            if(answer==""){
                printf("what?\n");
            }else{
                cout<<answer<<endl;
            }
        }

    return 0;

}

全部评论

相关推荐

码农索隆:传音老登来也。 但是这个我不知道怎么回答,不仅仅传音吧,很多公司在候选人不第一时间接受offer或主动将报道时间延期时,都会再从池子里面捞人,直到l捞到满足公司所有要求的人。
秋招的第一个offer,...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务