PAT乙級1059 C 龍哥哥的刷題路

2021-10-02 10:43:51 字數 1597 閱讀 3618

1059 c語言競賽 (20分)

c 語言競賽是浙江大學計算機學院主持的乙個歡樂的競賽。既然競賽主旨是為了好玩,頒獎規則也就制定得很滑稽:

0、冠軍將贏得乙份「神秘大獎」(比如很巨大的一本學生研究**集……)。

1、排名為素數的學生將贏得最好的獎品 —— 小黃人玩偶!

2、其他人將得到巧克力。

給定比賽的最終排名以及一系列參賽者的 id,你要給出這些參賽者應該獲得的獎品。

輸入格式:

輸入第一行給出乙個正整數 n(≤10^4),是參賽者人數。隨後 n 行給出最終排名,每行按排名順序給出一位參賽者的 id(4 位數字組成)。接下來給出乙個正整數 k 以及 k 個需要查詢的 id。

輸出格式:

對每個要查詢的 id,在一行中輸出 id: 獎品,其中獎品或者是 mystery award(神秘大獎)、或者是 minion(小黃人)、或者是 chocolate(巧克力)。如果所查 id 根本不在排名裡,列印 are you kidding?(耍我呢?)。如果該 id 已經查過了(即獎品已經領過了),列印 id: checked(不能多吃多占)。

輸入樣例:

61111

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與排名的對應關係,利用set來訪問已查詢過的id。根據排名輸出對應的獎品即可。

#include

#include

#include

#include

#include

#include

using

namespace std;

int a[

10001];

map<

int,

int> stumap;

set<

int> stuset;

bool

isprime

(int x)

}return

true;}

string printout

(int x)

if(stuset.

find

(x)== stuset.

end())

else

if(stumap[x]==1

)if(isprime

(stumap[x]))

return

"chocolate";}

intmain()

int x =0;

cin >> x;

for(

int i =

0; i < x; i++

)return0;

}

pat乙級1059C語言

c 語言競賽是浙江大學計算機學院主持的乙個歡樂的競賽。既然競賽主旨是為了好玩,頒獎規則也就制定得很滑稽 0 冠軍將贏得乙份 神秘大獎 比如很巨大的一本學生研究 集 1 排名為素數的學生將贏得最好的獎品 小黃人玩偶!2 其他人將得到巧克力。給定比賽的最終排名以及一系列參賽者的 id,你要給出這些參賽者...

PAT 乙級 1059 C語言競賽

題目 輸入樣例 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 ch...

PAT乙級1032 C 龍哥哥的刷題路

1032 挖掘機技術哪家強 20分 為了用事實說明挖掘機技術到底哪家強,pat 組織了一場挖掘機技能大賽。現請你根據比賽結果統計出技術最強的那個學校。輸入格式 輸入在第 1 行給出不超過 10 5的正整數 n,即參賽人數。隨後 n 行,每行給出一位參賽者的資訊和成績,包括其所代表的學校的編號 從 1...