题解 | #魔咒词典#

魔咒词典

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-18 15:57
门头沟学院 Java
最终归宿是测开:这个重邮的大佬在重邮很有名的,他就喜欢打92的脸,越有人质疑他,他越觉得爽😂
点赞 评论 收藏
分享
牛客737698141号:他们可以看到在线简历的。。。估计不合适直接就拒了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务