题目描述
知识点: 素数
思路: 简单判断素数
#include<iostream>
#include<unordered_map>
using namespace std;
unordered_map<string,string> reward_map;
unordered_map<string,int> is_print;
string get_reward(int rank){
if(rank == 1) return "Mystery Award";
bool is_prime = true;
for(int i = 2;i <= rank / i;i++){
if(rank % i == 0) {
is_prime = false;
break;
}
}
if(is_prime) return "Minion";
return "Chocolate";
}
int main(){
int n;
cin>>n;
for(int i = 1;i <= n;i++){
string name;
cin>>name;
string reward = get_reward(i);
reward_map[name] = reward;
}
cin>>n;
while(n--){
string name;
cin>>name;
cout<<name<<": ";
if(is_print[name] == 0 && reward_map.count(name) != 0){
cout<<reward_map[name]<<endl;
is_print[name] = 1;
}else if(reward_map.count(name) == 0)
cout<<"Are you kidding?"<<endl;
else cout<<"Checked"<<endl;
}
return 0;
}