题解 | #魔咒词典#

魔咒词典

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

注意因为key和value都不会重复出现,所以可以将题目中描述的两个映射关系用一个映射实现

#include <iostream>
#include <string>
#include <unordered_map>

using namespace std;

int main()
{
    unordered_map<string, string> dictionary;
    while (true) {
        string s;
        getline(cin, s);
        if (s == "@END@") break;
        int pos = s.find("]");
        string key = s.substr(0, pos+1);
        string value = s.substr(pos+2);
        dictionary[key] = value;
        dictionary[value] = key;
    }
    int M;
    cin >> M;
    getchar();
    while (M--) {
        string s;
        getline(cin, s);
        if (s[0] == '[') {
            if (dictionary.find(s) != dictionary.end()) {
                cout << dictionary[s] << endl;
            }
            else {
                cout << "what?" << endl;
            }
        }
        else {
            if (dictionary.find(s) != dictionary.end()) {
                string res = dictionary[s];
                res = res.substr(1);
                res.pop_back();
                cout << res << endl;
            }
            else {
                cout << "what?" << endl;
            }
        }
    }
    return 0;
}
全部评论

相关推荐

11-08 13:58
门头沟学院 Java
程序员小白条:竟然是蓝桥杯人才doge,还要花钱申领的offer,这么好的公司哪里去找
点赞 评论 收藏
分享
10-28 11:04
已编辑
美团_后端实习生(实习员工)
一个2人:我说几个点吧,你的实习经历写的让人觉得毫无含金量,你没有挖掘你需求里的 亮点, 让人觉得你不仅打杂还摆烂。然后你的简历太长了🤣你这个实习经历看完,估计没几个人愿意接着看下去, sdk, 索引这种东西单拎出来说太顶真了兄弟,好好优化下简历吧
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务