P1603 斯诺登的密码

题目传送门

#include<bits/stdc++.h>

using namespace std;
//原始英文数字
// You are a three eight pig . 10964
unordered_map<string, int> _map = {{"zero",      0},
                                   {"one",       1},
                                   {"two",       4},
                                   {"three",     9},
                                   {"four",      16},
                                   {"five",      25},
                                   {"six",       36},
                                   {"seven",     49},
                                   {"eight",     64},
                                   {"nine",      81},
                                   {"ten",       0},
                                   {"eleven",    21},
                                   {"twelve",    44},
                                   {"thirteen",  69},
                                   {"fourteen",  96},
                                   {"fifteen",   25},
                                   {"sixteen",   56},
                                   {"seventeen", 89},
                                   {"eighteen",  24},
                                   {"nineteen",  61},
                                   {"twenty",    0},
                                   {"a",         1},
                                   {"both",      4},
                                   {"another",   1},
                                   {"first",     1},
                                   {"second",    4},
                                   {"third",     9}
};
string s;

const int N = 1010;
int a[N];
int idx;

int main() {
    //ctrl+d,或者ctrl+z结束
    while (cin >> s)
        if (_map[s]) a[idx++] = _map[s];

    //无脑的排序
    sort(a, a + idx);

    string res = "";
    for (int i = 0; i < idx; i++) {
        if (i > 0 && a[i] < 10) res += "0" + to_string(a[i]);
        else res += to_string(a[i]);
    }
    //第3个点需要特判,没任何数字,输出0,很坑……
    if (res != "") cout << res << endl;
    else cout << 0 << endl;
    return 0;
}
posted @   糖豆爸爸  阅读(115)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
历史上的今天:
2018-11-18 ubuntu中vim下按上下左右键时输入A、B、C、D
2017-11-18 利用SQL SERVER对比两张表的数据一致性
Live2D
点击右上角即可分享
微信分享提示