QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 64 MB Total points: 100 Interactive

#13039. 外星人

Statistics

Mirko 是麦田怪圈的忠实粉丝,这些几何形状的压扁作物据说是外星人的杰作。一个夏夜,他决定在祖母的草地上制作属于自己的麦田怪圈。作为一名伟大的爱国者,Mirko 决定制作一个形状为克罗地亚国徽盾牌部分的麦田怪圈,它是一个 $5 \times 5$ 的棋盘,包含 13 个红色方格和 12 个白色方格。

克罗地亚国徽的棋盘部分。

祖母的草地是一个被划分为 $N \times N$ 个单元格的正方形。草地左下角的单元格坐标为 $(1, 1)$,右上角的单元格坐标为 $(N, N)$。

Mirko 决定只压扁棋盘中红色方格对应的草地,其余草地保持原样。他选择了一个奇数 $M \ge 3$,并压扁草地,使得棋盘的每个方格在草地上占据 $M \times M$ 个单元格,且整个棋盘完全位于草地内。

示例草地和 Mirko 的麦田怪圈,其中 $N=19$,$M=3$。被压扁的草地显示为灰色。怪圈中心位于 $(12, 9)$,并用黑点标记。

Mirko 睡着后,他奇特的创作引起了真正外星人的注意!他们乘坐宇宙飞船悬浮在草地上方,用一种简单的设备检查 Mirko 的麦田怪圈。该设备只能确定特定单元格中的草是否被压扁。

外星人已经找到了一个被压扁的草地单元格,现在他们想找到 Mirko 杰作的中心单元格,以便欣赏它的美。他们不知道 Mirko 麦田怪圈中每个方格的大小 $M$。

编写一个程序,给定草地的大小 $N$ ($15 \le N \le 2\,000\,000\,000$),一个被压扁的草地单元格的坐标 $(X_0, Y_0)$,以及与外星设备交互的能力,找出 Mirko 麦田怪圈中心单元格的坐标。

该设备在一次测试运行中最多可以使用 300 次。

交互

这是一个交互式任务。你的程序通过标准输出向外星设备发送指令,并通过读取标准输入接收设备的反馈。

  • 在程序开始时,你应该从标准输入读取三个整数 $N$、$X_0$ 和 $Y_0$,它们之间用空格分隔。$N$ 是草地的大小,$(X_0, Y_0)$ 是一个被压扁的草地单元格的坐标。
  • 要使用外星设备检查单元格 $(X, Y)$ 的草地,你应该向标准输出发送一行格式为 examine X Y 的指令。如果坐标 $(X, Y)$ 不在草地内(不满足 $1 \le X \le N$ 且 $1 \le Y \le N$ 的条件),或者你使用此设施超过 300 次,你的程序在该测试运行中将获得零分。
  • 如果单元格 $(X, Y)$ 的草地被压扁,外星设备将回复一行包含 true 的内容,否则回复 false
  • 当你的程序找到中心单元格时,它应该向标准输出发送一行格式为 solution XC YC 的指令,其中 $(X_C, Y_C)$ 是中心单元格的坐标。一旦你的程序输出解,程序执行将自动终止。

为了与评测系统正确交互,你的程序需要在每次写入操作后刷新标准输出;提供的代码示例展示了如何执行此操作。

子任务

在总分 40 分的测试用例中,Mirko 棋盘中每个方格的大小 $M$ 最多为 100。

每次测试运行都有一个唯一的正确答案,该答案不依赖于你的程序所提出的问题。

样例

输入格式 1

19 7 4

输出格式 1

examine 11 2

说明

外星设备反馈 true

输入格式 2

true

输出格式 2

examine 2 5

说明

外星设备反馈 false

输入格式 3

false

输出格式 3

examine 9 14

说明

外星设备反馈 false

输入格式 4

false

输出格式 4

examine 18 3

说明

外星设备反馈 true

输入格式 5

true

输出格式 5

solution 12 9

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.