生活随笔
收集整理的這篇文章主要介紹了
【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 分)的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。