🎩
# ABC187 B - Gentle Pairs
ABC187 B - Gentle Pairs
問題へのリンク
問題概要
xy 平面上に
- 点
と点i を通る直線の傾きが-1以上1以下である。j
制約
ABC中の解答
2つの点を結ぶ直線の傾きが-1から1に入るかを計算した。ただし割り算を入れると誤差が生じる可能性があったので
とせずに
とif文を実装した。
N = int(input())
XY = []
for _ in range(N):
x, y = map(int, input().split())
XY.append((x, y))
ans = 0
for i in range(N - 1):
for j in range(i + 1, N):
xi, yi = XY[i]
xj, yj = XY[j]
v = xi - xj
if v < 0:
v *= -1
if -v <= yi - yj <= v:
ans += 1
print(ans)
公式解法1
傾きが-1から1の範囲に入るということは
最初の入力をタプルで持たせたことがあまりなかったのでせっかくだから練習して実装してみた。
N = int(input())
A = [tuple(map(int, input().split())) for _ in range(N)]
ans = 0
for i in range(N):
for j in range(i):
if abs(A[i][1] - A[j][1]) <= abs(A[i][0] - A[j][0]):
ans += 1
print(ans)
Discussion