結果
問題 |
No.3018 目隠し宝探し
|
ユーザー |
![]() |
提出日時 | 2025-01-25 13:45:16 |
言語 | PyPy3 (7.3.15) |
結果 |
RE
|
実行時間 | - |
コード長 | 838 bytes |
コンパイル時間 | 576 ms |
コンパイル使用メモリ | 81,920 KB |
実行使用メモリ | 82,280 KB |
平均クエリ数 | 1.05 |
最終ジャッジ日時 | 2025-01-25 22:58:12 |
合計ジャッジ時間 | 4,727 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge8 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | RE * 1 |
other | RE * 21 |
ソースコード
H,W=map(int,input().split()) n=H f=[1,2] while f[-1]+f[-2]<=n: f+=[f[-1]+f[-2]] f.reverse() L=f[-1]+f[-2] a=[-1]*L for i in range(L-n-1): a[~i]=-L+i l=0 r=L-1 for m in f: m1=l+m m2=r-m if 1<=m1<=n and a[m1]==-1: print("?",m1+1,1) a[m1]=H**2+W**2-int(input()) if 1<=m2<=n and a[m2]==-1: print("?",m2+1,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,2] while f[-1]+f[-2]<=n: f+=[f[-1]+f[-2]] f.reverse() L=f[-1]+f[-2] a=[-1]*L for i in range(L-n-1): a[~i]=-L+i l=0 r=L-1 for m in f: m1=l+m m2=r-m if 1<=m1<=n and a[m1]==-1: print("?",1,m1+1) a[m1]=H**2+W**2-int(input()) if 1<=m2<=n and a[m2]==-1: print("?",1,m2+1) 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+1,w+1)