PAT Basic 1059
1059 C语言竞赛
C 语言竞赛是浙江大学计算机学院主持的一个欢乐的竞赛。既然竞赛主旨是为了好玩,颁奖规则也就制定得很滑稽:
- 0、冠军将赢得一份“神秘大奖”(比如很巨大的一本学生研究论文集……)。
- 1、排名为素数的学生将赢得最好的奖品 —— 小黄人玩偶!
- 2、其他人将得到巧克力。
给定比赛的最终排名以及一系列参赛者的 ID,你要给出这些参赛者应该获得的奖品。
输入格式:
输入第一行给出一个正整数 N(≤104),是参赛者人数。随后 N 行给出最终排名,每行按排名顺序给出一位参赛者的 ID(4 位数字组成)。接下来给出一个正整数 K 以及 K 个需要查询的 ID。
输出格式:
对每个要查询的 ID,在一行中输出 ID: 奖品,其中奖品或者是 Mystery Award(神秘大奖)、或者是 Minion(小黄人)、或者是 Chocolate(巧克力)。如果所查 ID 根本不在排名里,打印 Are you kidding?(耍我呢?)。如果该 ID 已经查过了(即奖品已经领过了),打印 ID: Checked(不能多吃多占)。
输入样例:
6
1111
6666
8888
1234
5555
0001
6
8888
0001
1111
2222
8888
2222
输出样例:
8888: Minion
0001: Chocolate
1111: Mystery Award
2222: Are you kidding?
8888: Checked
2222: Are you kidding?
题解:用map存储,结合题意,这道题还是不难的。
代码如下:
#include<iostream>
#include<map>
#include<math.h>
#include<cstdio>
#include<string>
using namespace std; bool isPrime(int b ){ if( b == )
return true;
for( int i = ; i <= sqrt(b); i++){
if(b%i == )
return false;
}
return true;
} int c[] = {}; int main()
{
map<string, int> a;
int n, m;
string id;
scanf("%d",&n);
for( int i = ; i <= n; i++){
cin>>id;
a[id]=i;
}
scanf("%d",&m);
for(int i = ; i <= m; i++)
{
cin>>id;
if(c[a[id]] == )
cout<<id<<": Checked"<<endl;
else if(a[id] == ){
cout<<id<<": "<<"Are you kidding?"<<endl;
continue;
}
else if(a[id] == )
cout<<id<<": "<<"Mystery Award"<<endl;
else if(isPrime(a[id]))
cout<<id<<": "<<"Minion"<<endl;
else
cout<<id<<": "<<"Chocolate"<<endl;
c[a[id]] = ;
}
return ;
}
PAT Basic 1059的更多相关文章
- PAT Basic 1059 C语言竞赛 (20 分)
C 语言竞赛是浙江大学计算机学院主持的一个欢乐的竞赛.既然竞赛主旨是为了好玩,颁奖规则也就制定得很滑稽: 0.冠军将赢得一份“神秘大奖”(比如很巨大的一本学生研究论文集……). 1.排名为素数的学生将 ...
- PAT Basic 1057
1057 数零壹 给定一串长度不超过 105 的字符串,本题要求你将其中所有英文字母的序号(字母 a-z 对应序号 1-26,不分大小写)相加,得到整数 N,然后再分析一下 N 的二进制表示中有 ...
- PAT 乙级 1059
题目 题目地址:PAT 乙级 1059 题解 开始我是从暴力循环的角度考虑这道题,大概计算了一下时间复杂度应该不会超,但是很不幸没有通过,时间超限:之后考虑搜索算法可能优化不太好,因此就把输入的序列先 ...
- PAT (Basic Level) Practise (中文)-1039. 到底买不买(20)
PAT (Basic Level) Practise (中文)-1039. 到底买不买(20) http://www.patest.cn/contests/pat-b-practise/1039 小红 ...
- PAT (Basic Level) Practise (中文)- 1022. D进制的A+B (20)
PAT (Basic Level) Practise (中文)- 1022. D进制的A+B (20) http://www.patest.cn/contests/pat-b-practise/1 ...
- PAT (Basic Level) Practise (中文)- 1024. 科学计数法 (20)
PAT (Basic Level) Practise (中文)- 1024. 科学计数法 (20) http://www.patest.cn/contests/pat-b-practise/1024 ...
- PAT (Basic Level) Practise (中文)-1025. 反转链表 (25)
PAT (Basic Level) Practise (中文)-1025. 反转链表 (25) http://www.patest.cn/contests/pat-b-practise/1025 ...
- PAT (Basic Level) Practise (中文)- 1026. 程序运行时间(15)
PAT (Basic Level) Practise (中文)- 1026. 程序运行时间(15) http://www.patest.cn/contests/pat-b-practise/10 ...
- PAT (Basic Level) Practise (中文)-1027. 打印沙漏(20)
PAT (Basic Level) Practise (中文)-1027. 打印沙漏(20) http://www.patest.cn/contests/pat-b-practise/1027 本题 ...
随机推荐
- 解决Centos下SSH登录慢的问题
产生这个问题的原因是:server的sshd会去DNS查找访问client IP的hostname,如果DNS不可用或者没有相关的记录就会花费大量的时间. 1.在server上/etc/hosts文件 ...
- python入门之实例-验证码
需求: 随机生成6位的验证码,要求有字母和数字 import random temp = "" for i in range(6): j = random.randrange(0, ...
- 关于ViewPager高度自适应(随着pager页的高度改变Viewpager的高度)
该博客借鉴的是某位大神的博客 我只是写一下用后感和总结 博客链接地址 http://blog.csdn.net/qq_34972666/article/details/52386999?locatio ...
- B. Dispersed parentheses 记忆化搜索 + 括号序列的状压表示
http://codeforces.com/gym/100633/problem/B B. Dispersed parentheses time limit per test 2 seconds me ...
- html原样输出html代码
<xmp>********</xmp> 在网页上显示html代码标记<xmp></xmp>有时我们会将html代码显示在网页上,直接写会有问题, 如果我 ...
- Oracle如何创建表空间
create user frame identified by tiger; grant create session to frame; grant create table to frame; g ...
- VUE注意事项(建项目)
1>删除空格影响的:删除掉框中的代码 2>不需要新建,直接打开APP.vue,在此文件上进行修改,(注意:index.html最好不要进行修改) 3>修改APP.vue为自己需要的页 ...
- 警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} 解决方法
Tomcat启动时出现红色警告内容 警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'sour ...
- jenkins+phantomjs环境搭建及使用
#jenkins+phantomjs 前端性能自动化测试的安装和使用#gcc GNU编译器套件 https://gcc.gnu.org/ #nginx 高性能的HTTP和反向代理服务器 http:// ...
- GP SQL 优化
1.收集统计信息vacuum full analyze ZCXT.ZCOT_PS_PROJECT; 2.检查表的数据量分布select gp_segment_id,count(*) from fact ...