AC代码如下
#include <iostream>
#include <iomanip>
using namespace std;
const int max_n = 10010;
int contestants[max_n] = {0};//记录参赛者的名次
int query[max_n];
bool is_prime_num(int num) {
//只有名次2以上才调用,不进行合法性检验
for(int i = 2 ; i < num ; i++){
if(num%i == 0) return false;
}
return true;
}
int main(){
int n,k;
int ID;
cin>>n;
for(int i = 0;i < n;i++){
cin>>ID;
contestants[ID] = i+1;
}
cin>>k;
for(int i = 0;i < k;i++){
cin>>query[i];
}
for(int i = 0;i < k;i++){
cout<<setw(4)<<setfill('0')<<query[i];
switch(contestants[query[i]]){
case -1:
cout<<": Checked"<<endl;break;
case 0:
cout<<": Are you kidding?"<<endl;break;
case 1:
cout<<": Mystery Award"<<endl;
contestants[query[i]] = -1;
break;
default:
if(is_prime_num(contestants[query[i]])){
cout<<": Minion"<<endl;
contestants[query[i]] = -1;
}
else{
cout<<": Chocolate"<<endl;
contestants[query[i]] = -1;
}
}
}
return 0;
}