#P12822. [NERC 2021] Interactive Treasure Hunt

    ID: 12646 远端评测题 3000ms 512MiB 尝试: 0 已通过: 0 难度: 6 上传者: 标签>2021交互题Special Judge构造ICPCAd-hocNERC/NEERC

[NERC 2021] Interactive Treasure Hunt

Description

这是一道交互题。

有一个 n×mn \times m 的网格。两个宝箱被埋藏在网格的两个不同单元格中。你的任务是找到这两个宝箱。你可以进行两种操作:

  1. DIG rr cc:尝试在单元格 (r,c)(r, c) 挖掘宝藏。交互器会告诉你是否找到了宝藏。
  2. SCAN rr cc:从单元格 (r,c)(r, c) 进行扫描。该操作的结果是从 (r,c)(r, c) 到两个宝藏所在单元格的曼哈顿距离之和。曼哈顿距离的计算公式为 r1r2+c1c2|r_1 - r_2| + |c_1 - c_2|

你需要在最多 7 次操作内找到两个宝藏(包括 DIGSCAN 操作)。为了通过测试,你必须在两个藏有宝藏的单元格中各调用至少一次 DIG 操作。

交互协议

你的程序需要在一轮运行中处理多个测试用例。首先,测试系统会给出 tt —— 测试用例的数量(1t1001 \le t \le 100)。然后,依次处理 tt 个测试用例。

在每个测试用例中,你的程序首先需要读取两个整数 nnmm2n,m162 \le n, m \le 16)。

然后,你的程序可以发起以下两种查询:

  1. DIG rr cc1rn1 \le r \le n1cm1 \le c \le m)。交互器会返回整数 11(如果找到了宝藏)或 00(如果未找到)。如果你多次在同一个单元格挖掘,由于宝藏已被取走,结果将始终为 00
  2. SCAN rr cc1rn1 \le r \le n1cm1 \le c \le m)。交互器会返回一个整数,表示从 (r,c)(r, c) 到两个宝藏所在单元格的曼哈顿距离之和。即使你已经找到一个宝藏,该操作仍然会计算两个宝藏的距离之和。

当你找到两个宝藏(即通过 DIG 操作两次获得 11 的响应)后,你的程序应继续处理下一个测试用例,或者如果是最后一个测试用例则退出。

Input Format

参见交互协议。

Output Format

参见交互协议。

1
2 3

1

1

3

0

1


SCAN 1 2

DIG 1 2

SCAN 2 2

DIG 1 1

DIG 1 3

Hint

翻译由 DeepSeek V3 完成