結果
| 問題 | No.2831 Cos Bomb Crasher |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2024-08-04 12:47:46 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
RE
|
| 実行時間 | - |
| コード長 | 1,649 bytes |
| コンパイル時間 | 403 ms |
| コンパイル使用メモリ | 82,388 KB |
| 実行使用メモリ | 97,668 KB |
| 平均クエリ数 | 299.00 |
| 最終ジャッジ日時 | 2024-08-04 12:48:12 |
| 合計ジャッジ時間 | 23,870 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | RE * 58 |
ソースコード
from pprint import pprint
import random
DEBUG = False
if DEBUG:
n = 10**9
x_ = random.randrange(-n, n)
y_ = random.randrange(-n, n)
a = (x_, y_)
b = (-y_, x_)
o = ((a[0] + b[0]) / 2, (a[1] + b[1]) / 2)
rr = (a[0] - o[0]) ** 2 + (a[1] - o[1]) ** 2
S = ""
def print(Q, flush):
pprint(Q)
if Q[0] == "2":
pprint(f"{o[0]}, {o[1]}, {rr}")
return
x, y = map(float, Q.split()[1:])
d = (x - o[0]) ** 2 + (y - o[1]) ** 2
pprint(f"{rr=} {d=}")
global S
if d == rr:
S = "0"
elif d > rr:
S = "+"
else:
S = "-"
def input():
return S
def judge(Q):
print(Q, flush=True)
return input()
if not DEBUG:
n = int(input())
q = 74
l = 0
r = 2 * n
for _ in range(q):
mid = (l + r) / 2
res = judge(f"1 {mid:.9f} 0")
if res[0] == "+":
r = mid
else:
l = mid
x_p = (l + r) / 2
l = -2 * n
r = 0
for _ in range(q):
mid = (l + r) / 2
res = judge(f"1 {mid:.9f} 0")
if res[0] == "+":
l = mid
else:
r = mid
x_m = (l + r) / 2
l = 0
r = 2 * n
for _ in range(q):
mid = (l + r) / 2
res = judge(f"1 0 {mid:.9f}")
if res[0] == "+":
r = mid
else:
l = mid
y_p = (l + r) / 2
l = -2 * n
r = 0
for _ in range(q):
mid = (l + r) / 2
res = judge(f"1 0 {mid:.9f}")
if res[0] == "+":
l = mid
else:
r = mid
y_m = (l + r) / 2
x = (x_p + x_m) / 2
y = (y_p + y_m) / 2
r2 = x**2 + y**2
pprint(f"{x_p=} {x_m=} {y_p=} {y_m=}")
judge(f"2 {x:.9f} {y:.9f} {r2:.9f}")