AT_abc454_e [ABC454E] LRUD Moving

题目描述

你会得到正整数 $N, A, B$。保证 $A$ 和 $B$ 都在 $1$ 到 $N$ 之间(包括端点)。 有一个 $N\times N$ 的网格。第 $i$ 行第 $j$ 列的格子记作 $(i,j)$。初始时,有一个棋子放在格子 $(1,1)$ 处。 你需要经过 $N^2-2$ 步(每步走到一个相邻格子——上下左右均可),把棋子最终移动到 $(N,N)$,且需要经过网格上的每一个格子,除了 $(A,B)$,且在移动过程中,不能经过同一个格子超过一次(即除了起点 $(1,1)$ 和终点 $(N,N)$,在中途均不能重复到达,起点和终点在路径中也只能被经过一次)。 判断是否存在一条满足条件的路径。如果存在,输出一条方案。 有 $T$ 组数据,请依次解决。

输入格式

输入通过标准输入给出,格式如下: > $T$ > $\text{case}_1$ > $\text{case}_2$ > $\vdots$ > $\text{case}_T$ 每组数据一行,格式如下: > $N \quad A \quad B$

输出格式

请按照题目顺序输出每组数据的答案,每组答案之间用换行分隔。 对于每组数据: - 如果不存在满足要求的路径,输出 `No`。 - 如果存在,输出如下格式: > Yes $S_1S_2\ldots S_{N^2-2}$ 其中 $S_k$ 表示第 $k$ 步的方向,假设第 $k$ 步前棋子在 $(i,j)$: - $S_k=$ `L` 表示从 $(i,j)$ 走到 $(i,j-1)$; - $S_k=$ `R` 表示从 $(i,j)$ 走到 $(i,j+1)$; - $S_k=$ `U` 表示从 $(i,j)$ 走到 $(i-1,j)$; - $S_k=$ `D` 表示从 $(i,j)$ 走到 $(i+1,j)$。 如果有多组满足要求的路径,输出任意一组即可。

说明/提示

### 样例解释 1 考虑第一组数据。 起点在 $(1,1)$,可以按如下方式走两步: - 首先向下移动,棋子到 $(2,1)$; - 然后向右移动,棋子到 $(2,2)$。 该方案满足题目的要求。 ### 约束条件 - $1\leq T \leq 5000$ - $2 \leq N \leq 10^3$ - $1 \leq A, B \leq N$ - $(A,B) \neq (1,1),(N,N)$ - 所有组数据的 $N^2$ 之和不超过 $10^6$ - 所有输入均为整数。 由 ChatGPT 5 翻译