美文网首页
PAT 甲级 刷题日记|A 1116 Come on! Let'

PAT 甲级 刷题日记|A 1116 Come on! Let'

作者: 九除以三还是三哦 | 来源:发表于2021-09-01 10:13 被阅读0次

    单词积累

    prime number 质数、素数

    思路

    每行id的行号代表当前id的等级,从1开始,如果是1输出Mystery Award,如果是素数输出Minion,其他情况输出Chocolate,如果给的id不存在,输出Are you kidding? ,加入给的id已经判断过了,则输出Checked

    查询时可以用map,因为数字不大,也可以开个数组,直接下标访问

    代码

    #include <bits/stdc++.h>
    using namespace std;
    
    map<string, string> ranks;
    int n, m;
    
    bool isPrime(int ask) {
        for (int i = 2; i <= sqrt(ask); i++) {
            if (ask % i == 0) return false;
        }
        return true;
    }
    
    int main() {
        cin>>n;
        for (int i = 1; i <= n; i++) {
            string str1;
            cin>>str1;
            if (i == 1) ranks[str1] = "Mystery Award";
            else if (isPrime(i) == true) ranks[str1] = "Minion";
            else ranks[str1] = "Chocolate";
        }
        cin>>m;
        for (int i = 0; i < m; i++) {
            string str2;
            cin>>str2;
            if (ranks.find(str2) != ranks.end()) {
                cout<<str2<<": "<<ranks[str2]<<endl;
                ranks[str2] = "Checked";
            } else {
                cout<<str2<<": "<<"Are you kidding?"<<endl;
            }
        }
    }
    

    相关文章

      网友评论

          本文标题:PAT 甲级 刷题日记|A 1116 Come on! Let'

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