結果

問題 No.513 宝探し2
ユーザー flippergoflippergo
提出日時 2024-10-21 08:49:06
言語 PyPy3
(7.3.15)
結果
RE  
実行時間 -
コード長 1,159 bytes
コンパイル時間 579 ms
コンパイル使用メモリ 82,452 KB
実行使用メモリ 84,720 KB
平均クエリ数 72.50
最終ジャッジ日時 2024-10-21 08:49:10
合計ジャッジ時間 2,696 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 63 ms
70,412 KB
testcase_01 AC 66 ms
70,484 KB
testcase_02 AC 59 ms
69,328 KB
testcase_03 AC 59 ms
71,100 KB
testcase_04 AC 74 ms
69,944 KB
testcase_05 AC 60 ms
69,676 KB
testcase_06 RE -
testcase_07 RE -
testcase_08 AC 62 ms
69,996 KB
testcase_09 AC 62 ms
70,912 KB
testcase_10 RE -
testcase_11 AC 61 ms
70,524 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

x0 = 0
x1 = 10**5
y0 = 0
y1 = 10**5
cnt = 0
A = []
B = []
while True:
    if len(B)>0:
        a,b = B.pop()
    elif cnt%4==0:
        a = (3*x0+x1)//4
        b = (3*y0+y1)//4
    elif cnt%4==1:
        a = (x0+3*x1)//4
        b = (3*y0+y1)//4
    elif cnt%4==2:
        a = (x0+3*x1)//4
        b = (y0+3*y1)//4
    else:
        a = (3*x0+x1)//4
        b = (y0+3*y1)//4
    print(a,b)
    d = int(input())
    # print(f"(x0,x1)=({x0},{x1}), (y0,y1)=({y0},{y1}), cnt={cnt}, d={d}")
    if d==0:break
    if d==1:
        B = [(a-1,b),(a+1,b),(a,b-1),(a,b+1)]
        continue
    A.append((a,b,cnt%4,d))
    if cnt%4==3:
        dmin = 10**9
        for i in range(4):
            a,b,cnt0,d = A[i]
            if d<dmin:
                dmin = d
                amin = a
                bmin = b
                cmin = cnt0
        if cmin==0:
            x1 = (x0+x1)//2
            y1 = (y0+y1)//2
        elif cmin==1:
            x0 = (x0+x1)//2
            y1 = (y0+y1)//2
        elif cmin==2:
            x0 = (x0+x1)//2
            y0 = (y0+y1)//2
        else:
            x1 = (x0+x1)//2
            y0 = (y0+y1)//2
        A = []
    cnt += 1
0