結果

問題 No.3018 目隠し宝探し
ユーザー sasa8uyauya
提出日時 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
権限があれば一括ダウンロードができます

ソースコード

diff #

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)
0