DOJ logoDOJ
题目
最近添加的题目收藏的题目Workbooks
分类DLC比赛小组团队讨论区
排名
解题数量排行榜连续解题排名DOJ Power 排行榜
评测状态
征题登录注册
DOJ logoDOJ

支持 OI 子任务计分、Elo 等级分和 Discord 认证的社区在线评测系统。

题目
题目列表分类
社区
比赛排名讨论区公告举办外部比赛指南
账号
登录注册评测状态
政策
服务条款DLC 使用规则隐私政策API 文档语言运行环境比赛排名奖励评级与表现
© 2026 DOJ
保留所有权利
题解

보물찾기

返回题目

题解

이 문제는 인터랙티브 점수제 문제이다.

? x y 쿼리는 현재 남아 있는 보물상자와의 가장 가까운 맨해튼 거리를 알려준다. ! x y 쿼리로 보물상자를 하나 찾으면 해당 보물상자는 사라지므로, 이후 ? 쿼리의 응답은 남아 있는 보물상자들만을 기준으로 계산된다.

가장 단순한 방법은 모든 칸에 대해 ? x y를 수행하고, 응답이 000인 칸을 ! x y로 보고하는 것이다. 이 방법은 최대 100001000010000번의 ? 쿼리를 사용한다.

높은 점수를 받기 위해서는 거리 정보가 한 번에 많은 칸을 배제한다는 점을 이용해야 한다. 예를 들어 어떤 칸 (x,y)(x,y)(x,y)에서 응답이 ddd라면, 현재 남아 있는 보물상자 중 적어도 하나는 (x,y)(x,y)(x,y)로부터 거리 ddd인 마름모 위에 있으며, 거리 d−1d-1d−1 이하인 모든 칸에는 보물상자가 없다.

이 문제의 인터랙터는 일부 적응형이다. 인터랙터는 처음부터 하나의 보물 배치만 고정하지 않고, 여러 가능한 보물 배치를 후보로 유지한다. 참가자 프로그램의 쿼리에 대해 가능한 후보가 최대한 많이 남도록 응답을 선택할 수 있다. 따라서 특정 고정 데이터에만 맞춘 풀이, 랜덤 추측 풀이, 제한된 패턴만 가정하는 풀이는 높은 점수를 받기 어렵다.