PAT B1059 C語言競賽

2021-08-04 03:09:48 字數 1460 閱讀 5561

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

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

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

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

給定比賽的最終排名以及一系列參賽者的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

68888

0001

1111

2222

8888

2222

輸出樣例:
8888: minion

0001: chocolate

1111: mystery award

2222: are you kidding?

8888: checked

2222: are you kidding?

題解

#include#includeusing namespace std;

bool prime[10001]; //false為質數

int candidate[10001]; //0為沒有排名 1為冠軍神秘大獎 2為小黃人玩偶 3為巧克力 4為已經領過獎品

int a[10001];

int champion=-1;

void judgeprime() }}

int main()

else if (!prime[i+1])

candidate[temp] = 2;

else if (prime[i+1])

candidate[temp] = 3;

} cin >> n;

for (int i = 0; i < n; i++)

cin >> a[i];

for (int i = 0; i < n; i++)

} return 0;

}//此題沒有什麼難點,我打了素數表

//另外要注意的是第三個點資料量取到了極端,陣列要取到10001

PAT B1059 C語言競賽 (20 分

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

PATB 1059 C語言競賽 簡單暴力

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

PAT B1059 C語言競賽 20分

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