結果
| 問題 |
No.513 宝探し2
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2017-05-05 22:38:20 |
| 言語 | PyPy2 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 257 ms / 2,000 ms |
| コード長 | 638 bytes |
| コンパイル時間 | 189 ms |
| コンパイル使用メモリ | 77,216 KB |
| 実行使用メモリ | 142,212 KB |
| 平均クエリ数 | 3.08 |
| 最終ジャッジ日時 | 2024-07-17 00:58:00 |
| 合計ジャッジ時間 | 4,140 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 12 |
ソースコード
import sys
import random
N = 100001
print 0, 0
sys.stdout.flush()
d = int(raw_input())
s = set()
for r in xrange(N):
c = d - r
if c < 0:
continue
s.add((r, c))
while len(s) > 1:
r, c = random.sample(s, 1)[0]
print r, c
sys.stdout.flush()
d = int(raw_input())
new_s = set()
for dr in xrange(-d, d+1):
nr = r + dr
nc = c + d - abs(dr)
if nr >= 0 and nr < N and nc >= 0 and nc < N:
new_s.add((nr, nc))
nc = c - d + abs(dr)
if nr >= 0 and nr < N and nc >= 0 and nc < N:
new_s.add((nr, nc))
s &= new_s
r, c = s.pop()
print r, c