結果
| 問題 |
No.2602 Real Collider
|
| コンテスト | |
| ユーザー |
maeshun
|
| 提出日時 | 2024-01-13 13:55:34 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,330 bytes |
| コンパイル時間 | 145 ms |
| コンパイル使用メモリ | 82,304 KB |
| 実行使用メモリ | 76,928 KB |
| 最終ジャッジ日時 | 2024-09-28 01:23:23 |
| 合計ジャッジ時間 | 30,843 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 65 WA * 13 |
ソースコード
def main():
q = int(input())
x1, y1, x2, y2, x3, y3 = map(int, input().split())
r = 0
if (x2 - x1) * (y3 - y1) == (x3 - x1) * (y2 - y1):
Mx = max(x1, max(x2, x3))
mx = min(x1, min(x2, x3))
My = max(y1, max(y2, y3))
my = min(y1, min(y2, y3))
r = (Mx - mx) ** 2 + (My - my) ** 2
xg = (mx + Mx)
yg = (my + My)
for _ in range(q):
x, y = map(int, input().split())
x *= 2
y *= 2
R = (xg - x) ** 2 + (yg - y) ** 2
if R <= r:
print("Yes")
else:
print("No")
else:
det = (x2 - x1) * (y3 - y1) - (x3 - x1) * (y2 - y1)
m = [[y3 - y1, -y2 + y1], [-x3 + x1, x2 - x1]]
f = [x2 ** 2 + y2 ** 2 - x1 ** 2 - y1 ** 2, x3 ** 2 + y3 ** 2 - x1 ** 2 - y1 ** 2]
e = [m[0][0] * f[0] + m[0][1] * f[1],
m[1][0] * f[0] + m[1][1] * f[1]]
r = (e[0] - 2 * det * x1) ** 2 + (e[1] - 2 * det * y1) ** 2
for _ in range(q):
x, y = map(int, input().split())
x *= 2 * det
y *= 2 * det
R = (e[0] - x) ** 2 + (e[1] - y) ** 2
if R <= r:
print("Yes")
else:
print("No")
if __name__ == "__main__":
main()
maeshun