博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PAT 1059. C语言竞赛
阅读量:4611 次
发布时间:2019-06-09

本文共 1453 字,大约阅读时间需要 4 分钟。

PAT 1059. C语言竞赛

C语言竞赛是浙江大学计算机学院主持的一个欢乐的竞赛。既然竞赛主旨是为了好玩,颁奖规则也就制定得很滑稽:

  1. 冠军将赢得一份“神秘大奖”(比如很巨大的一本学生研究论文集……)。
  2. 排名为素数的学生将赢得最好的奖品 —— 小黄人玩偶!
  3. 其他人将得到巧克力。

给定比赛的最终排名以及一系列参赛者的ID,你要给出这些参赛者应该获得的奖品。

输入格式:

输入第一行给出一个正整数N(<=10000),是参赛者人数。随后N行给出最终排名,每行按排名顺序给出一位参赛者的ID(4位数字组成)。接下来给出一个正整数K以及K个需要查询的ID。

输出格式:

对每个要查询的ID,在一行中输出“ID: 奖品”,其中奖品或者是“Mystery Award”(神秘大奖)、或者是“Minion”(小黄人)、或者是“Chocolate”(巧克力)。如果所查ID根本不在排名里,打印“Are you kidding?”(耍我呢?)。如果该ID已经查过了(即奖品已经领过了),打印“ID: Checked”(不能多吃多占)。

输入样例:

61111666688881234555500016888800011111222288882222

输出样例:

8888: Minion0001: Chocolate1111: Mystery Award2222: Are you kidding?8888: Checked2222: Are you kidding?

代码如下

#include
#include
#include
using namespace std;int isprimer(int a){ int b=sqrt(a); for(int i=2;i<=b;i++) if(a%i==0) return 0; return 1;}int main(){ int checked[10002]={0},rank[10002]={0},n,id; cin>>n; for(int i=1;i<=n;i++){ cin>>id; rank[id]=i; } cin>>n; for(int i=0;i
>id; if(rank[id]==0) printf("%04d: Are you kidding?\n",id); else if(checked[id]==1) printf("%04d: Checked\n",id); else if(rank[id]==1) printf("%04d: Mystery Award\n",id); else if(isprimer(rank[id])==1) printf("%04d: Minion\n",id); else printf("%04d: Chocolate\n",id); checked[id]=1; } return 0;}

转载于:https://www.cnblogs.com/A-Little-Nut/p/8137519.html

你可能感兴趣的文章
(C#)利用反射动态调用类成员[转]
查看>>
Confluence 6 数据库整合的方法 2:针对有大量附件的运行实例
查看>>
Confluence 6 有关空间的一些提示
查看>>
纯C,拿取文件夹的所有文件,并套出列表
查看>>
关于Arrays.asList 数组转为List
查看>>
简书 技术更新网站
查看>>
【codeforces 749C】 Voting
查看>>
【9919】黑暗游戏
查看>>
NPOI 导出
查看>>
Orcle数据库查询练习复习:四
查看>>
JS:面向对象(基础篇)
查看>>
解决Visual Studio 2013 XAML设计器异常
查看>>
Python的虚拟环境virtualenv
查看>>
《网路对抗》Exp8 WEB基础实践
查看>>
分布式技术追踪 2017年第十八期
查看>>
编写shell脚本执行springboot项目 jar包
查看>>
Reporting Services开发步骤
查看>>
Redis内存模型
查看>>
ubuntu16.04 server安装小记
查看>>
2016年 蓝桥杯决赛体验
查看>>