【PAT甲级】1116 Come on! Let's C (20分)

题意:

输入一个正整数N(<=10000),接着依次输入N个学生的ID。输入一个正整数Q,接着询问Q次,每次输入一个学生的ID,如果这个学生的ID不出现在之前的排行榜上输出Are you kidding,否则如果已经询问过输出Checked,否则如果这位学生排名第一输出Mystery Award,否则如果这位学生的排名是质数输出Minion,否则输出Chocolate。

AAAAAccepted code:

 1 #define HAVE_STRUCT_TIMESPEC
 2 #include<bits/stdc++.h>
 3 using namespace std;
 4 int a[10007];
 5 int vis[10007];
 6 int main(){
 7     //ios::sync_with_stdio(false);
 8     //cin.tie(NULL);
 9     //cout.tie(NULL);
10     int n;
11     scanf("%d",&n);
12     for(int i=1;i<=n;++i){
13         int x;
14         scanf("%d",&x);
15         a[x]=i;
16         vis[x]=1;
17     }
18     int q;
19     scanf("%d",&q);
20     for(int i=1;i<=q;++i){
21         int x;
22         scanf("%d",&x);
23         if(vis[x]==0)
24             printf("%04d: Are you kidding?
",x);
25         else if(vis[x]==2)
26             printf("%04d: Checked
",x);
27         else if(vis[x]==1){
28             vis[x]=2;
29             int flag=0;
30             for(int j=2;j*j<=a[x];++j)
31                 if(a[x]%j==0)
32                     flag=1;
33             if(a[x]==1)
34                 printf("%04d: Mystery Award
",x);
35             else if(flag==0)
36                 printf("%04d: Minion
",x);
37             else if(flag==1)
38                 printf("%04d: Chocolate
",x);
39         }
40     }
41     return 0;
42 }
保持热爱 不懈努力 不试试看怎么知道会失败呢(划掉) 世上无难事 只要肯放弃(划掉)
原文地址:https://www.cnblogs.com/ldudxy/p/12334113.html