APCS
M931
C
有 個角色,每個角色有攻擊力和防禦力。
角色的能力值是攻擊力和防禦力的平方和,輸出能力值第二大的攻擊力和防禦力數值。
保證每個角色的能力值相異。
第一行包含一個整數 ≤ ≤ ,表示有多少個角色。
接下來的 行,每行包含兩個整數 和 ,表示第 個角色的攻擊力和防禦力。
輸出兩個整數,表示能力值第二大的角色的攻擊力和防禦力。
第一題組 %:滿足 。
第二題組 %:無額外限制。
3
3 1
5 2
1 4
1 4
6
6 6
1 3
8 6
5 4
2 8
7 2
6 6
5
34 35
84 32
39 79
59 89
59 31
84 32
我第一眼看到是找最大值,但發現並不是,而是找出能力值第二高的並輸出其攻擊力跟防禦力。
所以我的想法是先讀進 個角色的攻擊力 與防禦力 ,同時判斷是否為最大能力值的角色,並記錄下其能力值 與序位 。
將其攻擊力及防禦力歸零。
再重新使用迴圈判斷一次,這次所找出的則是第二大能力值的角色,再將其攻擊力跟防禦力輸出即可。
這次解題使用了較直觀的方式,也就是透過兩次迴圈,第一次先找出最大並去除掉,再透過第二次找出第二大即可,那如果是要排序的話也可以,但我選用的方法更淺顯易懂,邏輯層面越簡單,若有錯誤也越容易改動,對於限定時間內的解題有更大的好處。
m931. 1. 遊戲選角 (From Zero Judge)