解答 # 讀取角色數量 n = int(input()) # 讀取每個角色的攻擊力和防禦力,並計算能力值 characters = [] for _ in range(n): attack, defense = map(int, input().split()) ability_value = attack**2 + defense**2 characters.append((ability_value, attack, defense)) # 按照能力值進行排序 characters.sort(reverse=True, key=lambda x: x[0]) # 輸出能力值第二大的角色的攻擊力和防禦力 second_highest_character = characters[1] print(second_highest_character[1], second_highest_character[2]) |
思路 要解決這個問題,我們可以按照以下步驟來實現: 1. 讀取輸入數據,包括角色數量和每個角色的攻擊力和防禦力。 2. 計算每個角色的能力值(攻擊力的平方加上防禦力的平方)。 3. 將角色按照能力值進行排序。 4. 輸出能力值第二大的角色的攻擊力和防禦力。 以下是Python程式碼實現: ```python # 讀取角色數量 n = int(input()) # 讀取每個角色的攻擊力和防禦力,並計算能力值 characters = [] for _ in range(n): attack, defense = map(int, input().split()) ability_value = attack**2 + defense**2 characters.append((ability_value, attack, defense)) # 按照能力值進行排序 characters.sort(reverse=True, key=lambda x: x[0]) # 輸出能力值第二大的角色的攻擊力和防禦力 second_highest_character = characters[1] print(second_highest_character[1], second_highest_character[2]) ``` 這段程式碼首先讀取角色數量,然後讀取每個角色的攻擊力和防禦力並計算其能力值。接著,將角色按照能力值從大到小進行排序,最後輸出能力值第二大的角色的攻擊力和防禦力。 你可以將這段程式碼複製到你的編輯器中,然後運行來驗證結果。 |