結果

問題 No.3018 目隠し宝探し
ユーザー sasa8uyauya
提出日時 2025-01-25 14:06:17
言語 PyPy3
(7.3.15)
結果
RE  
実行時間 -
コード長 844 bytes
コンパイル時間 160 ms
コンパイル使用メモリ 82,376 KB
実行使用メモリ 84,980 KB
平均クエリ数 3.68
最終ジャッジ日時 2025-01-25 23:07:45
合計ジャッジ時間 4,699 ms
ジャッジサーバーID
(参考情報)
judge10 / judge8
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample RE * 1
other RE * 21
権限があれば一括ダウンロードができます

ソースコード

diff #

H,W=map(int,input().split())

n=H
f=[1,2]
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,2]
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)
0