結果
問題 |
No.3018 目隠し宝探し
|
ユーザー |
![]() |
提出日時 | 2025-01-25 14:10:04 |
言語 | PyPy3 (7.3.15) |
結果 |
RE
|
実行時間 | - |
コード長 | 844 bytes |
コンパイル時間 | 757 ms |
コンパイル使用メモリ | 81,920 KB |
実行使用メモリ | 82,936 KB |
平均クエリ数 | 3.68 |
最終ジャッジ日時 | 2025-01-25 23:09:48 |
合計ジャッジ時間 | 4,652 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge11 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | RE * 1 |
other | RE * 21 |
ソースコード
H,W=map(int,input().split()) n=H f=[1,1] while f[-1]*2+f[-2]<n: f+=[f[-1]+f[-2]] f.reverse() L=f[0]*2+f[1] a=[-1]*(L+1) for i in range(L+1-n-1): a[~i]=-(L+1)+i l=0 r=L for m in f: m1=l+m m2=r-m if 1<=m1<=n and a[m1]==-1: print("?",m1,1) a[m1]=H**2+W**2-int(input()) if 1<=m2<=n and a[m2]==-1: print("?",m2,1) a[m2]=H**2+W**2-int(input()) if a[m1]<a[m2]: l=m1 else: r=m2 h=a.index(max(a)) n=W f=[1,1] while f[-1]*2+f[-2]<n: f+=[f[-1]+f[-2]] f.reverse() L=f[0]*2+f[1] a=[-1]*(L+1) for i in range(L+1-n-1): a[~i]=-(L+1)+i l=0 r=L for m in f: m1=l+m m2=r-m if 1<=m1<=n and a[m1]==-1: print("?",1,m1) a[m1]=H**2+W**2-int(input()) if 1<=m2<=n and a[m2]==-1: print("?",1,m2) a[m2]=H**2+W**2-int(input()) if a[m1]<a[m2]: l=m1 else: r=m2 w=a.index(max(a)) print("!",h,w)