c 語言競賽是浙江大學計算機學院主持的乙個歡樂的競賽。既然競賽主旨是為了好玩,頒獎規則也就制定得很滑稽:
給定比賽的最終排名以及一系列參賽者的 id,你要給出這些參賽者應該獲得的獎品。
輸入第一行給出乙個正整數 n(≤104),是參賽者人數。隨後 n 行給出最終排名,每行按排名順序給出一位參賽者的 id(4 位數字組成)。接下來給出乙個正整數 k 以及 k 個需要查詢的 id。
對每個要查詢的 id,在一行中輸出id: 獎品
,其中獎品或者是mystery award
(神秘大獎)、或者是minion
(小黃人)、或者是chocolate
(巧克力)。如果所查 id 根本不在排名裡,列印are you kidding?
(耍我呢?)。如果該 id 已經查過了(即獎品已經領過了),列印id: checked
(不能多吃多占)。
6
1111
6666
8888
1234
5555
0001
68888
0001
1111
2222
8888
2222
8888: minion
0001: chocolate
1111: mystery award
2222: are you kidding?
8888: checked
2222: are you kidding?
我使用了map,即其id為鍵,排名為值
首先先判斷某一id是否在map中,不在就列印are you kidding?,在就進入下一步
看這個id對應的值是否為-1(剛開始的時候各個id的值都是大於等於1的正整數,當我們查詢過後,將其值賦為-1,這樣就能判斷其是否已經查詢過了),是-1就列印checked否則
就進入下一步
看其值是否為1,是就列印mystery award,否則再判斷是否為素數,是就列印minion,否則就列印chocolate,然後將其賦值為-1,表示已經查詢過
#include#include#includeusing namespace std;
bool is_prime(int num)
return true;
}int main()
cin>>query_num;
for(int i=0;i>str;
if(m.find(str)!=m.end())
else
cout<}
else
cout<}
return 0;
}
誅天者 pat basic 練習五十三 住房空置率
在不打擾居民的前提下,統計住房空置率的一種方法是根據每戶用電量的連續變化規律進行判斷。判斷方法如下 現給定某居民區的住戶用電量資料,請你統計 可能空置 的比率和 空置 比率,即以上兩種狀態的住房佔居民區住房總套數的百分比。輸入第一行給出正整數 n 1000 為居民區住房總套數 正實數 e,即低電量閾...
誅天者 pat basic 練習五十七 數零壹
給定一串長度不超過 10 5 的字串,本題要求你將其中所有英文本母的序號 字母 a z 對應序號 1 26,不分大小寫 相加,得到整數 n,然後再分析一下 n 的二進位制表示中有多少 0 多少 1。例如給定字串pat basic 其字母序號之和為 16 1 20 2 1 19 9 3 71,而 71...
誅天者 pat basic 練習六十 愛丁頓數
英國天文學家愛丁頓很喜歡騎車。據說他為了炫耀自己的騎車功力,還定義了乙個 愛丁頓數 e 即滿足有 e 天騎車超過 e 英里的最大整數 e。據說愛丁頓自己的 e 等於87。現給定某人 n 天的騎車距離,請你算出對應的愛丁頓數 e n 輸入第一行給出乙個正整數 n 10 5 即連續騎車的天數 第二行給出...