1059 C语言竞赛 (20 分)

1059 C语言竞赛 (20 分),第1张

概述本文章向大家介绍1059 C语言竞赛 (20 分),主要包括1059 C语言竞赛 (20 分)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

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

0、冠军将赢得一份“神秘大奖”(比如很巨大的一本学生研究论文集……)。

1、排名为素数的学生将赢得最好的奖品 —— 小黄人玩偶!

2、其他人将得到巧克力。

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

输入格式:

输入第一行给出一个正整数 N(≤10​4​​),是参赛者人数。随后 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?

分析:AC代码

#include

#include

using namespace std;

bool judge(int number) {

int m = sqrt(number);

if(number <= 1) {

return false;

} else {

for(int i = 2; i <= m; i++) {

if(number % i == 0) {

return false;

}

}

}

return true;

}

int main() {

int n;

cin >> n;

int a[10001] = {0};

for(int i = 0; i < n; i++) {

int num;

cin >> num;

a[num] = i + 1;

}

int m;

cin >> m;

for(int i = 0; i < m; i++) {

int num;

cin >> num;

if(a[num] == -1) {

printf("%04d: Checkedn",num);

} else if(a[num] == 1) {

printf("%04d: Mystery Awardn",num);

a[num] = -1;

} else if(judge(a[num])) {

printf("%04d: Minionn",num);

a[num] = -1;

} else if(a[num] == 0) {

printf("%04d: Are you kIDding?n",num);

} else {

printf("%04d: Chocolaten",num);

a[num] = -1;

}

}

return 0;

}

总结

以上是内存溢出为你收集整理的1059 C语言竞赛 (20 分)全部内容,希望文章能够帮你解决1059 C语言竞赛 (20 分)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1264332.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存