結果
問題 |
No.1429 Simple Dowsing
|
ユーザー |
![]() |
提出日時 | 2025-04-14 20:14:34 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
TLE
|
実行時間 | - |
コード長 | 1,105 bytes |
コンパイル時間 | 454 ms |
コンパイル使用メモリ | 12,288 KB |
実行使用メモリ | 43,436 KB |
最終ジャッジ日時 | 2025-04-14 20:14:41 |
合計ジャッジ時間 | 7,168 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | TLE * 1 -- * 14 |
ソースコード
# %% N = 100 A = 3 B = 4 m = max(A, B, 10) # print(f"A={A},B={B}") def check(flg=False, x=-1, y=-1, m=m): for aa in range(m): for bb in range(m): if flg and not (aa == x and bb == y): continue a, b = main(False, aa, bb, trg=flg) if a != aa or b != bb: print("AB", aa, bb) print("ab", a, b) print() if not flg: print("Done") def main(flg=True, a=-1, b=-1, trg=False): def f1(r, x, p, q): for i in range(1 + N): for j in range(1 + N): if (i - p) ** 2 + (j - q) ** 2 == r: s[x].add((i, j)) def f(i, p, q): if flg: r = int(input()) else: r = (a - p) ** 2 + (b - q) ** 2 f1(r, i, p, q) if flg or trg: print("?", p, q) s = [set(), set()] p, q = 0, 0 for i in range(2): f(i, p, q) p, q = 0, 1 a, b = (s[0] & s[1]).pop() if flg or trg: print("!", a, b) return a, b main() # check(False, A, B, m) # %%