結果

問題 No.3018 目隠し宝探し
ユーザー ねしん
提出日時 2025-01-25 14:34:20
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 126 ms / 2,000 ms
コード長 655 bytes
コンパイル時間 970 ms
コンパイル使用メモリ 82,688 KB
実行使用メモリ 77,000 KB
平均クエリ数 2.59
最終ジャッジ日時 2025-01-25 23:23:34
合計ジャッジ時間 4,459 ms
ジャッジサーバーID
(参考情報)
judge1 / judge6
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 21
権限があれば一括ダウンロードができます

ソースコード

diff #

def dist(x,y,z,w):
	return (x-z)**2+(y-w)**2
H,W=list(map(int,input().split()))
if H==1 and W==1:
  print("!",1,1)
  exit()
print("?",1,1)
d1=int(input())
anss=[]
for i in range(1,H+1):
	for j in range(1,W+1):
	  	if d1==dist(1,1,i,j):
	  		anss.append((i,j))
if len(anss)==1:
	print("!",anss[0][0],anss[0][1])
	exit()
print("?",anss[0][0],anss[0][1])
d1=int(input())
anss2=[]
for i,j in anss:
	if d1==dist(anss[0][0],anss[0][1],i,j):
		anss2.append((i,j))
if len(anss2)==1:
	print("!",anss2[0][0],anss2[0][1])
	exit()
print("?",anss2[0][0],anss2[0][1])
d=int(input())
if d==0:
	print("!",anss2[0][0],anss2[0][1])
else:
	print("!",anss2[1][0],anss2[1][1])
0