CF1666I.Interactive Treasure Hunt

提高+/省选-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

这是一个交互题。

有一个 n×mn\times m 的网格。在网格的两个不同的格子里埋藏着两个宝箱。你的任务是找到它们。你可以进行两种操作:

  • DIG rr cc:尝试在格子 (r,c)(r, c) 挖掘宝藏。交互器会告知你是否找到了宝藏。
  • SCAN rr cc:从格子 (r,c)(r, c) 进行扫描。该操作的结果是从格子 (r,c)(r, c) 到两个宝藏所在格子的曼哈顿距离之和。曼哈顿距离定义为从格子 (r1,c1)(r_1, c_1) 到格子 (r2,c2)(r_2, c_2) 的距离为 ∣r1−r2∣+∣c1−c2∣|r_1 - r_2| + |c_1 - c_2|。

你需要在最多 7 次操作内找到两个宝箱。这 7 次操作包括 DIG 和 SCAN 操作的总和。为了解决本题,你需要在两个宝箱所在的格子各进行至少一次 DIG 操作。

输入格式

你的程序需要在一次运行中处理多组测试数据。首先,测试系统会输出 tt,表示测试用例的数量(1≤t≤1001\le t \le 100)。然后,依次处理 tt 个测试用例。

在每个测试用例中,你的程序首先读取两个整数 nn 和 mm(2≤n,m≤162 \le n, m \le 16)。

接下来,你可以进行以下两种类型的查询:

  • DIG rr cc(1≤r≤n1\le r\le n;1≤c≤m1\le c\le m)。交互器会返回整数 11,表示你找到了宝藏,否则返回 00。如果你在同一格子多次 DIG,结果会是 00,因为宝藏已经被找到。
  • SCAN rr cc(1≤r≤n1\le r\le n;1≤c≤m1\le c\le m)。交互器会返回一个整数,表示从格子 (r,c)(r, c) 到两个宝藏所在格子的曼哈顿距离之和。无论你是否已经找到宝藏,都会对两个宝藏所在的格子计算距离之和。

当你找到两个宝藏(即有两次 DIG 操作返回 11)后,你的程序应继续处理下一个测试用例,或如果已经是最后一个测试用例则退出。

输出格式

(本题为交互题,无需输出格式说明。)

输入输出样例

  • 输入#1

    1
    2 3
    
    1
    
    1
    
    3
    
    0
    
    1

    输出#1

    SCAN 1 2
    
    DIG 1 2
    
    SCAN 2 2
    
    DIG 1 1
    
    DIG 1 3

说明/提示

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页