#P14647. [POI 2025/2026 #1] 太空探测车 / Łazik kosmiczny
[POI 2025/2026 #1] 太空探测车 / Łazik kosmiczny
题目描述
本题的可视化工具:链接(波兰语)。
Bajtazar 刚刚发现了一颗形状像环面的行星。行星表面被一个矩形网格划分为 行和 列。行用从 到 的整数编号,列用从 到 的整数编号,坐标为 的格子位于第 行和第 列。
为了探索这颗行星,一辆太空漫游车将被送往那里,它将从坐标为 的格子开始工作,并按照指令序列在行星上移动。漫游车识别 4 种类型的指令,分别对应以下移动:
- :从 移动到
- :从 移动到
- :从 移动到
- :从 移动到
漫游车将无限循环地执行指令序列:在执行完最后一条指令后,它开始从头执行整个序列。请记住,行星的形状是环面,所以例如如果漫游车当前位于格子 并执行移动 ,它将移动到格子 。
Bajtazar 希望漫游车最终能访问行星上全部 个格子。请帮助他设计一个能保证这一点的简短(但不一定是最短)的指令序列。
注意,漫游车在行驶过程中多次访问同一个格子是允许的。
输入格式
输入的第一行也是唯一一行包含两个整数 和 (),分别表示行星表面被划分成的行数和列数。
输出格式
输出的第一行应打印一个正整数 ,表示指令序列的长度。在第二行应打印一个长度为 的由字母 组成的字符串。
2 3
3
DPD
提示
样例解释
漫游车依次访问格子
$$(0,0) \xrightarrow{D} (1,0) \xrightarrow{P} (1,1) \xrightarrow{D} (0,1) \xrightarrow{D} (1,1) \xrightarrow{P} (1,2) \xrightarrow{D} (0,2) \xrightarrow{D} (1,2) \xrightarrow{P} (1,0) \xrightarrow{D} (0,0) \xrightarrow{D} \dots$$::::align{center}
::::
样例输出是正确的,但未必是最短的。
大样例
样例 是题面中展示的样例。此外:
- :;指令序列 允许访问棋盘的所有格子。
- :;指令序列 允许访问棋盘的所有格子。
子任务
本题采用捆绑测试。
| 子任务编号 | 限制 | 得分 |
|---|---|---|
| 1 | 11 | |
| 2 | 20 | |
| 3 | 13 | |
| 4 | 12 | |
| 5 | 24 | |
| 6 | 7 | |
| 7 | ||
| 8 | 无额外限制 | 6 |
令 表示你输出的指令序列的长度,而 是最短可能的正确指令序列的长度。如果你的指令序列是正确的,那么你的解法将在该测试点获得根据以下公式计算的分数:
$$\left\lfloor \frac{100}{\sqrt{1 + k - OPT}} \right\rfloor \%$$