#include<cstdio>
#include<iostream>
#include<cmath>
using namespace std;
const int maxn=100001;
bool vis[maxn]={false},is[maxn]={false};
int a[maxn],Id[maxn];
bool isprime(int x)
{
for(int i=2;i<=sqrt(x);i++)
{
if(x%i==0)
return false;
}
return true;
}
int main()
{
int n,k,id;
cin>>n;
for(int i=1;i<=n;i++)
{
scanf("%d",&id);
a[id]=i;
is[id]=true;
}
cin>>k;
for(int i=0;i<k;i++)
{
scanf("%d",&Id[i]);
}
for(int i=0;i<k;i++)
{
id=Id[i];
printf("%04d: ",id);
if(is[id]==false)
{
printf("Are you kidding?\n");
}
else
{
if(vis[id]==true)
{
printf("Checked\n");
}
else
{
vis[id]=true;
if(a[id]==1)
printf("Mystery Award\n");
else if(isprime(a[id])==true)
{
printf("Minion\n");
}
else
{
printf("Chocolate\n");
}
}
}
}
}
A1116 Come on! Let‘s C (20) 逻辑题
最新推荐文章于 2024-06-13 12:04:31 发布
本文深入解析了一段C++程序代码,该程序用于处理一系列ID并判断其对应的奖项。通过检查ID的有效性,程序能够判断ID是否已检查,是否为特殊ID,并根据ID的数值属性确定获奖类别,如Mystery Award、Minion或Chocolate。本文涵盖了C++中的数组使用、条件判断、输入输出操作及素数判断算法。
1177

被折叠的 条评论
为什么被折叠?



