AtCoder ~ 2点距離の最大値(The longest distance)

開発

問題

回答例

import math

# 入力値を取得する
N = int(input())
 
x = [0] * N
y = [0] * N
for i in range(N):
  x[i], y[i] = map(int, input().split())
 
# 総当たりで2点間の距離を計算して最大のものを取り出す
ans = 0
for a in range(N):
  for b in range(N):
    ans = max(ans, math.sqrt(pow(x[a] - x[b], 2) + pow(y[a] - y[b], 2)))
 
print(ans)

mathモジュールを使って平方根やべき乗の計算を行うようにしてみた。

同じ点同士の距離計算もしてしまう部分が計算量としては無駄がある。

コメント

タイトルとURLをコピーしました