AT_future_contest_2020_qual_a ロボットの誘導

题目描述

有一个 $N \times N$ 的网格,其中放置了 $M$ 个机器人、$B$ 个障碍物和 $1$ 个目标格子。 每个格子都有一个坐标,左上角的坐标为 $(0, 0)$,右上角的坐标为 $(0, N - 1)$,右下角的坐标为 $(N - 1, N - 1)$。网格的左右边界以及上下边界是相连的,例如,格子 $(3, 0)$ 的左邻为 $(3, N - 1)$,而 $(N - 1, 5)$ 的下方是 $(0, 5)$。 每个机器人 $i$ ($1 \leq i \leq M$)都有一个初始位置 $(ry_i, rx_i)$ 和初始方向 $c_i$。$c_i$ 的取值可以是 `U`, `D`, `L`, `R`,分别表示上下左右。 还会给定每个障碍物的位置,表示为第 $i$ 个障碍物 ($1 \leq i \leq B$) 的坐标是 $(by_i, bx_i)$,目标格子的坐标为 $(gy, gx)$。 你可以在选定的格子上放置方向指示器,每个可以指向上下左右四个方向中的一个。一个格子上不能放置多个指示器。 设定好方向指示器后,各个机器人会按照以下规则行动,不会相互碰撞: - 若机器人所在的格子为目标格子,机器人将停止移动。 - 否则,若当前格子上有方向指示器,将改变为指示器的方向。然后,机器人会朝着当前指示的方向移动一个格子(注意,网格边界是相连的)。如果移动的目标格子是障碍物,机器人停止移动。 请尽量使更多机器人能够在有限次数的操作中到达目标格子。在指示器使用数量较少,且机器人的路径尽可能经过更多不同格子的情况下,总分会更高。 【注意】这道题目并不要求找出“最优解”。例如,不必实现让所有机器人都到达目标,也不要强求将指示器的数量降到最低。

输入格式

输入格式如下: > $N$ $M$ $B$ $gy$ $gx$ $ry_1$ $rx_1$ $c_1$ $ry_2$ $rx_2$ $c_2$ $:$ $ry_M$ $rx_M$ $c_M$ $by_1$ $bx_1$ $by_2$ $bx_2$ $:$ $by_B$ $bx_B$

输出格式

输出需要满足如下格式: 设放置的方向指示器数量为 $K$,第 $i$ 个指示器放置于 $(Y_i, X_i)$,方向为 $R_i$ (`U`, `D`, `L`, `R` 表示上下左右)。格式如下: > $K$ $Y_{1}$ $X_{1}$ $R_1$ $Y_{2}$ $X_{2}$ $R_2$ $:$ $Y_{K}$ $X_{K}$ $R_K$ 如果输出格式不符合规定,例如,字符数量不匹配或使用了非法字符,可能会被判定为错误。此外,同一格子上放置多个指示器也是不允许的,但在目标格子和障碍物格子放置指示器不会视为错误。

说明/提示

### 约束条件 - $N = 40$ - $M = 100$ - $B = 300$ - $0 \leq gy, gx \leq N - 1$ - $0 \leq ry_i, rx_i \leq N - 1$ - $c_i$ 是 `U`, `D`, `L`, `R` 中的一个 - $0 \leq by_i, bx_i \leq N - 1$ - 障碍物不会占据机器人、目标格子或其他障碍物的格子位置。(机器人可以在同一位置或与目标格子重合) - 在满足以上约束条件的情况下,障碍物、目标和机器人的位置是均匀随机选择的。 ### 输入输出示例 输入与输出示例可从 [此链接](https://img.atcoder.jp/future-contest-2020-qual/cfca8299ea6b6b628e8510c862eeeb00.zip) 下载。 **本翻译由 AI 自动生成**