PAT 1116. Come on! Let’s C (20)
https://www.patest.cn/contests/pat-a-practise/1116
#include <bits/stdc++.h>
using namespace std;
bool isPrime(int x)
{
if (x < 2) return false;
for (int i = 2; i * i <= x; i++) {
if (x % i == 0) return false;
}
return true;
}
int main()
{
int N;
scanf("%d\n", &N);
map<string, int> mp;
for (int i = 1; i <= N; i++) {
string s;
cin >> s;
mp[s] = i;
}
int K;
scanf("%d\n", &K);
while (K--) {
string s;
cin >> s;
cout << s << ": ";
if (mp.count(s)) {
if (mp[s] == 0) puts("Checked"); else
if (mp[s] == 1) puts("Mystery Award"); else
if (isPrime(mp[s])) puts("Minion"); else
puts("Chocolate");
mp[s] = 0;
} else {
puts("Are you kidding?");
}
}
}