1059 C語言競賽 Python

2021-10-05 20:09:11 字數 1739 閱讀 1207

1059 c語言競賽 python(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?

兩個陣列乙個輸入所有資料,乙個輸入所有查詢資料,一邊新增一邊判斷。(資料可能太大,日常超時……)

import math

a=int

(input()

)b=for i in

range

(a):

b.(input()

)k=int(

input()

)c=for i in

range

(k):

p=input()

c.(p)if

(p not in b)

:print

("%s: are you kidding?"

%p)else:if

(p in c[

:len

(c)-1]

):print

("%s: checked"

%p)elif

(b[0

]==p)

:print

("%s: mystery award"

%p)else

: t=b.

index

(p)+

1 y=

1for j in

range(2

,int

(math.

sqrt

(t))+1

):if t%j==0:

print

("%s: chocolate"

%(p)

) y =

0break

if y:

print

("%s: minion"

%pi)

1059 C語言競賽

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

1059 C語言競賽

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

1059 C語言競賽

1.解題思路 ran陣列標記每個id對應的排名,集合ss儲存所有已經詢問過的id 如果發現當前id已經出現在ss中,則輸出 checked 如果ran id 0 說明當前id不在排名列表中,所以輸出 are you kidding?如果ran id 為1則輸出 minion 如果ran id 為素數...