题解 | #魔咒词典#这题太无语了

魔咒词典

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

#include <iostream>
#include <map>
#include <string>
#include <cstdio>
using namespace std;

map<string, string> dict;

int main() {
    while (true) {
        char line[200];
        fgets(line, 200, stdin); //输入一行
        string linestr = line; //c->c++
        linestr.pop_back(); //去掉换行
        if (linestr == "@END@") {
            break;
        }
        string word = linestr.substr(0, linestr.find(']') + 1);
        string info = linestr.substr(linestr.find(']') + 2);
        //printf("%s\n%s\n", word.c_str(), info.c_str());
        dict[info] = word;
        dict[word] = info;
    }

    int n;
    scanf("%d", &n);
    getchar(); //去掉换行,坑!
    for (int i = 0; i < n; i++) {
        char line[200];
        fgets(line, 200, stdin);
        string linestr = line;
        linestr.pop_back();

        if (dict.find(linestr) != dict.end()) {
            if (linestr.find("[") != -1) { //有[,为魔咒
                printf("%s\n", dict[linestr].c_str());

            } else {
                printf("%s\n", dict[linestr].substr(1, dict[linestr].size() - 2).c_str());
            }
        } else {
            printf("what?\n");
        }
    }


}

全部评论

相关推荐

06-11 13:34
门头沟学院 C++
offe从四面八方来:我真的没时间陪你闹了
点赞 评论 收藏
分享
06-17 00:26
门头沟学院 Java
程序员小白条:建议换下项目,智能 AI 旅游推荐平台:https://github.com/luoye6/vue3_tourism_frontend 智能 AI 校园二手交易平台:https://github.com/luoye6/vue3_trade_frontend GPT 智能图书馆:https://github.com/luoye6/Vue_BookManageSystem 选项目要选自己能掌握的,然后最好能自己拓展的,分布式这种尽量别去写,不然你只能背八股文了,另外实习的话要多投,尤其是学历不利的情况下,多找几段实习,最好公司title大一点的
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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