PAT 乙 1059 C語言競賽 20 分

2021-10-20 09:34:50 字數 1833 閱讀 5384

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

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

輸入格式:輸入第一行給出乙個正整數 n(≤

104)

n(≤10^)

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?

不能用printf("%s") 去輸出乙個string類的結構體變數,會出現錯誤:

[error] cannot pass objects of non-trivially-copyable type 'std::string

for(

int i=

2;i<=

sqrt

(p);i++

)return1;

}

#include

#include

#include

#include

using

namespace std;

bool

prime

(int n)

;struct participant

pt[10001];

intmain()

else

if(i==1)

else}

cin>>k;

for(

int i=

1;i<=k;i++

)else}}

if(flag_id==0)

}}bool

prime

(int p)

for(

int i=

2;i<=

sqrt

(p);i++

)return1;

}

結果:執行時間還是太長,提交的測試點2一會過一會不過。

PAT乙 1059 C語言競賽

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

PAT 乙級 1059 C語言競賽 20

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

1059 C語言競賽 20 PAT

時間限制 200 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 chen,yue c語言競賽是浙江大學計算機學院主持的乙個歡樂的競賽。既然競賽主旨是為了好玩,頒獎規則也就制定得很滑稽 0.冠軍將贏得乙份 神秘大獎 比如很巨大的一本學生研究 集 1.排名...