1059 C語言競賽 20

2021-08-03 13:50:06 字數 1643 閱讀 3864

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

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

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

其他人將得到巧克力。

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

輸入格式:

輸入第一行給出乙個正整數n(<=10000),是參賽者人數。隨後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

6 8888

0001

1111

2222

8888

2222

輸出樣例:

8888: minion

0001: chocolate

1111: mystery award

2222: are you kidding?

8888: checked

2222: are you kidding?

注意:

本題的兩個思路:

1.採用結構體儲存學生的學號和應獲獎資訊,然後進行查詢。

2.採用陣列,陣列下標表示學號,陣列值表示排名

以下給出第二個思路的**:

#include 

#include

using

namespace

std;

bool isprime(int x)

return

true;

}int s[10001]=;//下標表示學號,陣列值表示排名

int main()

int k;

cin>>k;

for(int i=0;iint tmpno;

scanf("%04d",&tmpno);

printf("%04d: ",tmpno);

if(s[tmpno]==1)

else

if(s[tmpno]==-1)

else

if(s[tmpno]==0)

cout

<

} return

0;}

結果:

1059 C語言競賽 20

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

1059 C語言競賽 20

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

1059 C語言競賽 20

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