結果

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

ソースコード

diff #
プレゼンテーションモードにする

H,W=map(int,input().split())
n=H
f=[1,2]
while 1:
f+=[f[-1]+f[-2]]
if f[-1]*2+f[-2]>=n:
break
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 1:
f+=[f[-1]+f[-2]]
if f[-1]*2+f[-2]>=n:
break
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)
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0