美文网首页工作生活
*PAT1059 C语言竞赛 (20 分)

*PAT1059 C语言竞赛 (20 分)

作者: 昭明ZMing | 来源:发表于2019-07-02 23:14 被阅读0次
#include<iostream>
#include<string>
#include<cmath>
#include<map>
using namespace std;
struct m {
    string prize;       //存放奖品
    int key = 0;    //ID是否存在
};
map<string, m> ranking;
int isprime(int a) {
    for (int i = 2; i <= sqrt(a); i++)
        if (a%i == 0)
            return 0;
    return 1;
}
int main() {
    int n, flag;
    string str_id,str;
    cin >> n;//人数
    for (int i = 1; i <= n; i++) {
        cin >> str_id;
        ranking[str_id].key = 1;        //ID存在
        if (i == 1)
            ranking[str_id].prize = "Mystery Award";//第一名
        else if (isprime(i))
            ranking[str_id].prize = "Minion";//排名是素数
        else
            ranking[str_id].prize = "Chocolate";
    }
    cin >> n;//查询
    for (int i = 1; i <= n; i++) {
        cin >> str;
        if (ranking[str].key) {
            cout << str << ": " << ranking[str].prize << endl;
            ranking[str].prize = "Checked";
        }
        else
            cout << str << ": Are you kidding?" << endl;
    }
    return 0;
}

相关文章

网友评论

    本文标题:*PAT1059 C语言竞赛 (20 分)

    本文链接:https://www.haomeiwen.com/subject/sevxhctx.html