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?
思路: 模拟题意,🆗了。
代码:
#include<stdio.h>
#include<math.h>
int prime( int n);
int main()
{
int i,j,k;
int a[10002];
int n;
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}
int cha[10002];
int shu;
scanf("%d",&shu);
for(i=0;i<shu;i++){
scanf("%d",&cha[i]);
}
int h[10002]={0};
for(i=0;i<shu;i++){
for(j=0;j<n;j++){
if(a[j]==cha[i]){
h[i]=j+1;
}
}
}
for(i=0;i<shu;i++){
int f=0;
for(j=0;j<=i;j++){
if(cha[i]==cha[j]&&j!=i&&h[i]!=0){
f=1;
}
}
if(f==1){
printf("%.4d: Checked\n",cha[i]);
}
else if(h[i]==1){
printf("%.4d: Mystery Award\n",cha[i]);
}
else if(h[i]==0){
printf("%.4d: Are you kidding?\n",cha[i]);
}
else if(prime(h[i])==1){
printf("%.4d: Minion\n",cha[i]);
}
else{
printf("%.4d: Chocolate\n",cha[i]);
}
}
return 0;
}
int prime(int n)
{
int i;
if(n==1){
return 0;
}
else if(n==2){
return 1;
}
else{
for(i=2;i<=sqrt(n);i++){
if(n%i==0){
break;
}
}
if(i>sqrt(n)){
return 1;
}
else{
return 0;
}
}
}