思路:模拟一下就好了,map用来记录每个人的排名。


AC代码

#include <stdio.h>
#include <map>
#include <math.h>
#include <string>
#include <string.h>
using namespace std;
map<string, int> Rank;
map<string, int> asked;
const int maxn = 10000+5;
bool vis[maxn];

void init(int n) {
    int m = sqrt(n+0.5);
    memset(vis, 0, sizeof(vis));
    for(int i = 2; i <= m; i++) if(!vis[i])
        for(int j = i*i; j <= n; j+=i) vis[j] = 1;
}

int main() {
    init(maxn);
    char s[10];
    int n, k;
    scanf("%d", &n);
    for(int i = 0; i < n; i++) {
        scanf("%s", s);
        Rank[s] = i+1;
    }
    scanf("%d", &k);
    for(int i = 0; i < k; i++) {
        scanf("%s", s);
        if(asked.count(s)) {
            printf("%s: Checked\n", s);
            continue;
        }
        if(!Rank.count(s)) {
            printf("%s: Are you kidding?\n", s);
        } else {
            asked[s] = 1;
            int id = Rank[s];
            if(id == 1) {
                printf("%s: Mystery Award\n", s);
            } else if(!vis[id]) {
                printf("%s: Minion\n", s);
            } else {
                printf("%s: Chocolate\n", s);
            }
        }
    }
    return 0;
}

如有不当之处欢迎指出!

PAT1116. Come on! Let's C (map)的更多相关文章

  1. mapreduce中一个map多个输入路径

    package duogemap; import java.io.IOException; import java.util.ArrayList; import java.util.List; imp ...

  2. .NET Core中间件的注册和管道的构建(3) ---- 使用Map/MapWhen扩展方法

    .NET Core中间件的注册和管道的构建(3) ---- 使用Map/MapWhen扩展方法 0x00 为什么需要Map(MapWhen)扩展 如果业务逻辑比较简单的话,一条主管道就够了,确实用不到 ...

  3. Java基础Map接口+Collections工具类

    1.Map中我们主要讲两个接口 HashMap  与   LinkedHashMap (1)其中LinkedHashMap是有序的  怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...

  4. Java基础Map接口+Collections

    1.Map中我们主要讲两个接口 HashMap  与   LinkedHashMap (1)其中LinkedHashMap是有序的  怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...

  5. 多用多学之Java中的Set,List,Map

            很长时间以来一直代码中用的比较多的数据列表主要是List,而且都是ArrayList,感觉有这个玩意就够了.ArrayList是用于实现动态数组的包装工具类,这样写代码的时候就可以拉进 ...

  6. Java版本:识别Json字符串并分隔成Map集合

    前言: 最近又看了点Java的知识,于是想着把CYQ.Data V5迁移到Java版本. 过程发现坑很多,理论上看大部分很相似,实践上代码写起来发现大部分都要重新思考方案. 遇到的C#转Java的一些 ...

  7. MapReduce剖析笔记之八: Map输出数据的处理类MapOutputBuffer分析

    在上一节我们分析了Child子进程启动,处理Map.Reduce任务的主要过程,但对于一些细节没有分析,这一节主要对MapOutputBuffer这个关键类进行分析. MapOutputBuffer顾 ...

  8. MapReduce剖析笔记之七:Child子进程处理Map和Reduce任务的主要流程

    在上一节我们分析了TaskTracker如何对JobTracker分配过来的任务进行初始化,并创建各类JVM启动所需的信息,最终创建JVM的整个过程,本节我们继续来看,JVM启动后,执行的是Child ...

  9. MapReduce剖析笔记之五:Map与Reduce任务分配过程

    在上一节分析了TaskTracker和JobTracker之间通过周期的心跳消息获取任务分配结果的过程.中间留了一个问题,就是任务到底是怎么分配的.任务的分配自然是由JobTracker做出来的,具体 ...

随机推荐

  1. 8_python连接数据库

    如何用python操作数据库? -- 导入pymysql                    -- import pymysql -- 创建连接                          - ...

  2. linkin大话面向对象--方法详解

    1,方法的参数传递机制:值传递. 首先弄懂2个概念:形参和实参. 形参(形式参数):相当于函数(Java中也把函数称之为方法)中的局部变量,在函数被调用时创建,并以传入的实参作为起始值,函数调用结束时 ...

  3. <<Senium2自动化测试>>读书笔记一

    为进一步加强Python知识扩展和学习,在朋友的推荐下选择了<<Selenium2自动化测试实战>>,作者胡志恒,基于Python语言实现,以实例的方式详细讲解WebDrive ...

  4. git clone代码时候出现的报错

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px "Andale Mono"; color: #28fe14; backgr ...

  5. PHP获取客户端和服务器端IP(转)

    客户端的ip变量: $_SERVER['REMOTE_ADDR'] :客户端IP,也有可能是代理IP $_SERVER['HTTP_CLIENT_IP']:代理端的IP,可能存在,也可能伪造 $_SE ...

  6. zabbix action理解

    Maintenance status not in maintenance   谷歌翻译:维护状态不在维护中,中文意思就是监控的设备有problem,触发器报警了,然后执行action {TRIGGE ...

  7. Codeforce A. Fair Game

    A. Fair Game time limit per test 1 second memory limit per test 256 megabytes input standard input o ...

  8. sparse_softmax_cross_entropy_with_logits

    sparse_softmax_cross_entropy_with_logits 原创文章,请勿转载!!! 定义 sparse_softmax_cross_entropy_with_logits(_s ...

  9. Oracle打印日历功能

    Oracle用SQL打印日历 1.1  打印当月日历 , D, NULL)) SUN, , D, NULL)) MON, , D, NULL)) TUE, , D, NULL)) WED, , D,  ...

  10. Java对Jar文件的操作[转]

    原文地址:http://www.cnblogs.com/mailingfeng/archive/2012/04/24/2122160.html  String dirPath = System.get ...