生活随笔
收集整理的这篇文章主要介绍了
【PAT乙级】1059 C语言竞赛 (20 分)
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
题目地址
#include<bits/stdc++.h>
using namespace std
;
int n
,k
;
string s
[5]={"","Mystery Award","Minion","Chocolate"};
map
<string
,int>mp
;
bool check(int x
)
{for(int i
=2;i
<=x
/i
;i
++) if(x
%i
==0) return false;return true;
}
int main(void)
{cin
>>n
;for(int i
=1;i
<=n
;i
++){string id
; cin
>>id
;if(i
==1) mp
[id
]=1;else {if(check(i
)) mp
[id
]=2;else mp
[id
]=3;}}cin
>>k
;while(k
--){string id
; cin
>>id
; if(!mp
[id
]) cout
<<id
<<": "<<"Are you kidding?"<<endl
;else if(mp
[id
]==-1) cout
<<id
<<": "<<"Checked"<<endl
;else cout
<<id
<<": "<<s
[mp
[id
]]<<endl
,mp
[id
]=-1;}return 0;
}
#include<cstdio>
#include<iostream>
#include<cmath>
using namespace std
;
int a
[10005];
int n
,k
,x
;
bool check(int x
)
{for(int i
=2;i
<=x
/i
;i
++) if(x
%i
==0) return false;return true;
}
int main(void)
{cin
>>n
;for(int i
=1;i
<=n
;i
++) cin
>>x
,a
[x
]=i
;cin
>>k
;for(int i
=0;i
<k
;i
++){cin
>>x
;if(a
[x
]==1) printf("%04d: Mystery Award\n",x
),a
[x
]=-1;else if(check(a
[x
])&&a
[x
]>0) printf("%04d: Minion\n",x
),a
[x
]=-1;else if(a
[x
]==0) printf("%04d: Are you kidding?\n",x
);else if(a
[x
]>0) printf("%04d: Chocolate\n",x
),a
[x
]=-1;else if(a
[x
]==-1) printf("%04d: Checked\n",x
);} return 0;
}
总结
以上是生活随笔为你收集整理的【PAT乙级】1059 C语言竞赛 (20 分)的全部内容,希望文章能够帮你解决所遇到的问题。
如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。