#40849: 學程式沒多久 用自己的方法寫出來了 但速度明顯慢很多 請大佬指教


chinostibi@gmail.com (stop simping)


這邊是py程式碼~

character = int(input())
temp = float("-inf")
secondtemp = float("-inf")
tempatk = float("-inf")
tempdef = float("-inf")
secondatk = float("-inf")
seconddef = float("-inf")
for i in range(character):
    attack,defense = [int(i) for i in input().split()]
    if attack**2 + defense**2 > temp:
        secondtemp = temp
        secondatk = tempatk
        seconddef = tempdef

        temp = attack**2 + defense**2
        tempatk = attack
        tempdef = defense
    if attack**2 + defense**2 > secondtemp and attack**2 + defense**2 < temp:
        secondtemp = attack**2 + defense**2
        secondatk = attack
        seconddef = defense
print(secondatk,seconddef)
#40850: Re: 學程式沒多久 用自己的方法寫出來了 但速度明顯慢很多 請大佬指教


asnewchien@gmail.com (david)


還好啦,
有些人是先塞到陣列排序。
遇到測資比較大時,你這也是個好方法。
你可以 _t = a**2 + d**2  避免重複計算。

 

#40855: Re: 學程式沒多久 用自己的方法寫出來了 但速度明顯慢很多 請大佬指教


chinostibi@gmail.com (stop simping)


還好啦,
有些人是先塞到陣列排序。
遇到測資比較大時,你這也是個好方法。
你可以 _t = a**2 + d**2  避免重複計算。

 


對耶 寫的時候怎麼沒有想到 這樣看起來清爽很多 謝謝