結果
問題 |
No.2602 Real Collider
|
ユーザー |
|
提出日時 | 2024-01-12 23:02:00 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 1,599 bytes |
コンパイル時間 | 283 ms |
コンパイル使用メモリ | 82,108 KB |
実行使用メモリ | 64,216 KB |
最終ジャッジ日時 | 2024-09-27 23:47:46 |
合計ジャッジ時間 | 4,423 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 TLE * 1 -- * 1 |
other | -- * 78 |
ソースコード
# https://qiita.com/tatesuke/items/59133758ec25146766c3 Q = int(input()) a, b, c, d, e, f = map(int, input().split()) if (c - a) * (f - b) - (d - b) * (e - a) == 0: while True: continue xy = [[a, b], [c, d], [e, f]] xy.sort() XM = xy[-1][0] xm = xy[0][0] px_nume = XM + xm px_deno = 2 YM = xy[-1][1] ym = xy[0][1] py_nume = YM + ym py_deno = 2 r2 = (py_deno ** 2) * ((px_nume - XM * px_deno) ** 2) + (px_deno ** 2) * ((py_nume - YM * py_deno) ** 2) for _ in range(Q): x, y = map(int, input().split()) R2 = py_deno ** 2 * (px_nume - x * px_deno) ** 2 + px_deno ** 2 * (py_nume - y * py_deno) ** 2 if R2 > r2: print("No") else: print("Yes") else: aa = a * a bb = b * b cc = c * c dd = d * d ee = e * e ff = f * f py_nume = (e - a) * (aa + bb - cc - dd) - (c - a) * (aa + bb - ee- ff) py_deno = 2 * (e - a)*(b - d) - 2 * (c - a) * (b - f) if c == a: px_nume = 2 * (b - f) * py_nume - (aa + bb - ee - ff) * py_deno px_deno = 2 * (e - a) * py_deno else: px_nume = 2 * (b - d) * py_nume - (aa + bb - cc - dd) * py_deno px_deno = 2 * (c - a) * py_deno r2 = (py_deno ** 2) * ((px_nume - a * px_deno) ** 2) + (px_deno ** 2) * ((py_nume - b * py_deno) ** 2) for _ in range(Q): x, y = map(int, input().split()) R2 = py_deno ** 2 * (px_nume - x * px_deno) ** 2 + px_deno ** 2 * (py_nume - y * py_deno) ** 2 if R2 > r2: print("No") else: print("Yes")