結果

問題 No.3161 Find Presents
ユーザー kmmtkm
提出日時 2025-05-21 22:48:35
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 402 ms / 4,000 ms
コード長 601 bytes
コンパイル時間 383 ms
コンパイル使用メモリ 81,980 KB
実行使用メモリ 93,812 KB
平均クエリ数 3407.01
最終ジャッジ日時 2025-05-21 22:49:02
合計ジャッジ時間 25,360 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 80
権限があれば一括ダウンロードができます

ソースコード

diff #

def exist(xl, xr, yl, yr):
	print('?', xl, xr, yl, yr)
	ans = int(input())
	if ans == 1:
		return True
	elif ans == 0:
		return False
	else:
		exit()


def solve():
	presents = []
	def _solve(xl, xr, yl, yr):
		if not exist(xl, xr, yl, yr):
			return
		if xl == xr:
			if yl == yr:
				presents.append((xl, yl))
			else:
				mid = (yl + yr) // 2
				_solve(xl, xr, yl, mid)
				_solve(xl, xr, mid+1, yr)
		else:
			mid = (xl + xr) // 2
			_solve(xl, mid, yl, yr)
			_solve(mid+1, xr, yl, yr)
	
	_solve(0, 1000000, 0, 1000000)
	
	print('!', len(presents))
	for x, y in presents:
		print(x, y)


solve()
0