题目链接
实现
#include <vector>
#include <cstdio>
#include <iostream>
#include <cmath>
using namespace std;
bool isPrime(int num)
{
bool flag = true;
int i;
for (i = 2; i <= sqrt(num); i++)
{
if (num%i == 0)
{
flag = false;
break;
}
}
return flag;
}
int main()
{
int i, N, k, temp;
cin >> N;
vector<int> rank(N + 1);
vector<int> count(N + 1);
for (i = 1; i <= N; i++) count[i] = 0;
for (i = 1; i <= N; i++)
{
cin >> rank[i];
count[i]++;
}
cin >> k;
bool exist;
while (k--)
{
cin >> temp;
exist = false;
for (i = 1; i <= N; i++)
{
if (temp == rank[i])
{
exist = true;
count[i]--;
break;
}
}
if (i <= N)
{
if (count[i] == 0)
{
if (i == 1)
printf("%04d: Mystery Award\n", temp);
else if (isPrime(i))
printf("%04d: Minion\n", temp);
else
printf("%04d: Chocolate\n", temp);
}
else
printf("%04d: Checked\n", temp);
}
else
printf("%04d: Are you kidding?\n", temp);
}
return 0;
}