結果

問題 No.2602 Real Collider
ユーザー fuppy_kyopro
提出日時 2024-01-12 21:40:31
言語 Python3
(3.13.1 + numpy 2.2.1 + scipy 1.14.1)
結果
WA  
実行時間 -
コード長 907 bytes
コンパイル時間 234 ms
コンパイル使用メモリ 12,544 KB
実行使用メモリ 11,008 KB
最終ジャッジ日時 2024-09-27 21:39:10
合計ジャッジ時間 41,160 ms
ジャッジサーバーID
(参考情報)
judge2 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 59 WA * 19
権限があれば一括ダウンロードができます

ソースコード

diff #

import math

EPS = 1e-5

n = int(input())
points = list(map(float, input().split()))
a = points[0]
b = points[1]
c = points[2]
d = points[3]
e = points[4]
f = points[5]

aa = a * a
bb = b * b
cc = c * c
dd = d * d
ee = e * e
ff = f * f

try:
    py = ((e - a) * (aa + bb - cc - dd) - (c - a) * (aa + bb - ee- ff)) / (2 * (e - a)*(b - d) - 2 * (c - a) * (b - f))

    px = (2 * (b - f) * py - aa - bb + ee + ff) / (2 * (e - a)) \
        if (c == a) else (2 * (b - d) * py - aa - bb + cc + dd) / (2 * (c - a))
except ZeroDivisionError:
    mx = min([a, c, e])
    MX = max([a, c, e])
    my = min([b, d, f])
    MY = max([b, d, f])
    px = (mx + MX) / 2
    py = (my + MY) / 2

# print(px, py)

r = math.hypot(px - a, py - b)


for i in range(n):
    x, y = list(map(float, input().split()))

    if (x - px) * (x - px) + (y - py) * (y - py) - r * r < EPS:
        print("Yes")
    else:
        print("No")
0