PAT_A1116#Come on! Let's C
Source:
Description:
"Let's C" is a popular and fun programming contest hosted by the College of Computer Science and Technology, Zhejiang University. Since the idea of the contest is for fun, the award rules are funny as the following:
- 0、 The Champion will receive a "Mystery Award" (such as a BIG collection of students' research papers...).
- 1、 Those who ranked as a prime number will receive the best award -- the Minions (小黄人)!
- 2、 Everyone else will receive chocolates.
Given the final ranklist and a sequence of contestant ID's, you are supposed to tell the corresponding awards.
Input Specification:
Each input file contains one test case. For each case, the first line gives a positive integer N (≤), the total number of contestants. Then N lines of the ranklist follow, each in order gives a contestant's ID (a 4-digit number). After the ranklist, there is a positive integer K followed by K query ID's.
Output Specification:
For each query, print in a line
ID: award
where the award isMystery Award
, orMinion
, orChocolate
. If the ID is not in the ranklist, printAre you kidding?
instead. If the ID has been checked before, printID: Checked
.
Sample Input:
6
1111
6666
8888
1234
5555
0001
6
8888
0001
1111
2222
8888
2222
Sample Output:
8888: Minion
0001: Chocolate
1111: Mystery Award
2222: Are you kidding?
8888: Checked
2222: Are you kidding?
Keys:
- 素数(Prime)
Attention:
- 对于较大规模的数据,采用打表的方法可以大大的优化时间,平时应该养成习惯已备不时之需;
Code:
- /*
- Data: 2019-06-11 20:19:43
- Problem: PAT_A1116#Come on! Let's C
- AC: 15:40
- 题目大意:
- 按排名给出N名同学的ID,
- 第一名,Mystery Award
- 素数名次,Minion
- 其他名次,Chocolate
- 询问过了,Checked
- 占便宜者,Are you kidding?
- */
- #include<cstdio>
- #include<string>
- #include<vector>
- #include<iostream>
- using namespace std;
- const int M=1e5;
- int isPrime[M],n,name;
- string id[M];
- vector<int> prime;
- void Euler()
- {
- fill(isPrime,isPrime+n+,);
- isPrime[]=;isPrime[]=;
- for(int i=; i<=n; i++){
- if(isPrime[i])
- prime.push_back(i);
- for(int j=; j<prime.size(); j++){
- if(i*prime[j]>n)
- break;
- isPrime[i*prime[j]]=;
- if(i%prime[j]==)
- break;
- }
- }
- }
- int main()
- {
- #ifdef ONLINE_JUDGE
- #else
- freopen("Test.txt", "r", stdin);
- #endif
- scanf("%d", &n);
- Euler();
- for(int i=; i<=n; i++)
- {
- scanf("%d", &name);
- if(i == )
- id[name] = "Mystery Award";
- else if(isPrime[i])
- id[name] = "Minion";
- else
- id[name] = "Chocolate";
- }
- scanf("%d", &n);
- for(int i=; i<n; i++)
- {
- scanf("%d", &name);
- printf("%04d: ", name);
- if(id[name].size() != ){
- cout << id[name] << endl;
- id[name] = "Checked";
- }
- else
- cout << "Are you kidding?" << endl;
- }
- return ;
- }
PAT_A1116#Come on! Let's C的更多相关文章
随机推荐
- kendo grid create
这种自定义的create中的函数,这个data的行为是在发送到后端之前执行的 //{ // url: "/admgr/AdUserAuthorityAdd", // dataTyp ...
- BZOJ——T 1801: [Ahoi2009]chess 中国象棋
http://www.lydsy.com/JudgeOnline/problem.php?id=1801 Time Limit: 10 Sec Memory Limit: 64 MBSubmit: ...
- Spring MVC-处理程序映射(Handler Mapping)-简单的Url处理程序映射(Simple Url Handler Mapping)示例(转载实践)
以下内容翻译自:https://www.tutorialspoint.com/springmvc/springmvc_simpleurlhandlermapping.htm 说明:示例基于Spring ...
- HDU 5347(MZL's chemistry-打表)
MZL's chemistry Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) ...
- CocoaPods建立私有仓库
项目管理:CocoaPods建立私有仓库 2015-05-08 10:22 编辑: lansekuangtu 分类:iOS开发 来源:agdsdl 0 6367 CocoaPods项目管理私有仓库 招 ...
- DotNetBar.Bar作为容器使用的方法及Text更新原理
DotNetBar.Bar作为容器使用的方法及Text更新原理 老帅 一.容器用法 控件DevComponents.DotNetBar.Ba ...
- android屏幕适配之精准适配
(1554068430@qq.com)(android精准适配工具)近期这段时间项目要做适配,在网上方便的方法.后来依据http://blog.csdn.net/jdsjlzx/article/det ...
- HDU - 3622 Bomb Game(二分+2-SAT)
题目大意:玩一个放炸弹游戏,有N次放炸弹的机会,每次放炸弹时,你都有两个位置能够选择.问怎样放炸弹,能使爆炸的炸弹的半径的最小值最大(炸弹爆炸半径能够控制,可是爆炸形成的圈不能有重叠部分) 解题思路: ...
- Android View的onTouch和onClick和onLongClick事件
这三个事件的调用顺序是: onTouch->onLongClick->onClick 先看这三个事件的处理函数: public boolean onTouch(View v, Motion ...
- Codeforces--106C--Buns(背包)
Buns Time Limit: 2000MS Memory Limit: 262144KB 64bit IO Format: %I64d & %I64u Submit Status ...