B1059 C語言競賽(python)

2021-10-04 20:33:47 字數 2039 閱讀 6184

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?

害,日常超時……?

import math

defisprime

(n):

if n <=1:

return

false

for i in

range(2

,int

(math.sqrt(n))+

1):if n % i ==0:

return

false

return

true

rewards =

['mystery award'

,'minion'

,'chocolate'

]n =

input()

rank =

[input()

for i in

range

(int

(n))

]k =

input()

searchs =

[input()

for i in

range

(int

(k))

]result =

checked =

for search in searchs:

if search not

in rank:

# 未找到該id

'are you kidding?'

)elif rank.index(search)==0

and search not

in checked:

# 冠軍0]

)elif isprime(rank.index(search)+1

)and search not

in checked:

# 排名為素數1]

)elif search not

in checked:

# 巧克力2]

)else

:# 上述情況均不滿足,則已經分發過獎品

'checked'

)for key, value in

list

(zip

(searchs, result)):

print

(key +

': '

+ value)

B1059 C語言競賽 20 分

c 語言競賽是浙江大學計算機學院主持的乙個歡樂的競賽。既然競賽主旨是為了好玩,頒獎規則也就制定得很滑稽 給定比賽的最終排名以及一系列參賽者的 id,你要給出這些參賽者應該獲得的獎品。輸入格式 輸入第一行給出乙個正整數 n 10 4 是參賽者人數。隨後 n 行給出最終排名,每行按排名順序給出一位參賽者...

PAT乙級B1059 C語言競賽 (20 分)

c 語言競賽是浙江大學計算機學院主持的乙個歡樂的競賽。既然競賽主旨是為了好玩,頒獎規則也就制定得很滑稽 給定比賽的最終排名以及一系列參賽者的 id,你要給出這些參賽者應該獲得的獎品。輸入第一行給出乙個正整數 n 10 4 是參賽者人數。隨後 n 行給出最終排名,每行按排名順序給出一位參賽者的 id ...

1059 C語言競賽

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