码迷,mamicode.com
首页 > 编程语言 > 详细

1059 C语言竞赛

时间:2019-03-05 21:23:40      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:reset   str   浙江大学   book   c语言   htm   amp   isp   problem   

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?
 
 
 1 #include<stdio.h>
 2 #include<math.h>
 3 #include<string.h>
 4 #include<stdlib.h>
 5 int isprime(int num);
 6 int main()
 7 {
 8     int N;
 9     int book[10000]={0};
10     scanf("%d",&N);
11     int id;
12     for(int i=1;i<=N;i++)
13     {
14         scanf("%d",&id);
15         book[id]=i;
16     }
17     int k;
18     scanf("%d",&k);
19     int cha;
20     for(int i=0;i<k;i++)
21     {
22         scanf("%d",&cha);
23         if(book[cha]==-1)
24         {
25             printf("%04d: Checked\n",cha);
26             continue;
27         }
28         else if(book[cha]==0)
29         {
30             printf("%04d: Are you kidding?\n",cha);
31             continue;
32         }
33         else if(book[cha]==1)
34         {
35             printf("%04d: Mystery Award\n",cha);
36             book[cha]=-1;
37             continue;
38         }
39         else if(isprime(book[cha])==1)
40         {
41             printf("%04d: Minion\n",cha);
42             book[cha]=-1;
43             continue;
44         }
45         else if(isprime(book[cha])==0)
46         {
47             printf("%04d: Chocolate\n",cha);
48             book[cha]=-1;
49             continue;
50         }
51     }
52     return 0;
53 }
54 int isprime(int num)
55 {
56     if(num==0||num==1)
57         return 0;
58     int j=(int)sqrt(num);
59     for(int i=2;i<=j;i++)
60     if(num%i==0)
61         return 0;
62     return 1;
63 }

 

 

1059 C语言竞赛

标签:reset   str   浙江大学   book   c语言   htm   amp   isp   problem   

原文地址:https://www.cnblogs.com/xwl3109377858/p/10479534.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!