前往
大廳
主題

ZeroJudge - g307: pA. 為了好吃的蘋果派(Apple Pie) 解題心得

Not In My Back Yard | 2021-09-17 00:00:07 | 巴幣 10 | 人氣 200

題目連結:


題目大意:
輸入第一列給定三正整數 N 、 K 、 T(3 ≦ N 、 K 、 T ≦ 1000),代表有 N 個蘋果派(編號為 0 ~ N - 1)、K 個人試吃、T 為平均分數之及格門檻。

接下來有 N 列,依序代表著編號 0 ~ N - 1 之蘋果派。每列給定 K 個正整數,代表 K 個試吃員之評分。

當有蘋果派的評分去掉最低分和最高分剩下的 K - 2 個值之平均大於等於 T 時,則代表該編號的蘋果派是合格的。

請輸出所有合格蘋果派之編號,一個編號佔一列輸出。如果沒有任何合格的蘋果派則輸出「A is for apple.」。



範例輸入:
範例輸入 #1
7 4 40
1 2 4 8
8 5 2 3
3 4 1 8
7 6 1 5
1 8 4 7
3 2 8 6
1 3 2 7

範例輸入 #2
9 7 10
9 15 13 2 6 3 12
12 14 4 5 3 7 19
10 8 4 14 6 18 19
11 17 1 19 4 6 3
8 13 14 16 12 3 17
4 9 8 3 19 17 7
19 2 12 4 1 15 8
11 16 4 12 1 5 19
1 11 9 6 4 19 15


範例輸出:
範例輸出 #1
A is for apple.

範例輸出 #2
2
4


解題思維:
單純地對每個蘋果派之評分中先找出最高分以及最低分(掃過一次即可線性地找到最大值和最小值,如這題),將總和減去最高、最低分。接著因為平均值可能是浮點數,而為了避免浮點數誤差我們可以將原先的判斷式
總和 ÷ (K - 2) ≧ T
兩邊同乘以 (K - 2) 得
總和 ≧ T × (K - 2)
因為 K ≧ 3,所以 K - 2 將是正數也因此不會更動原關係式的大小關係。

當有蘋果派符合上面的關係式時,代表這個派即是題目的合格蘋果派,因此輸出其編號。如果掃完所有蘋果派之後都沒有任何一個合格(可以用一布林變數來判斷有無合格者,一開始設為「沒有」),就輸出「A is for apple.」。




此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創作回應

相關創作

更多創作