#ABC474G. LRUD 移动 2 / LRUD Moving 2

LRUD 移动 2 / LRUD Moving 2

题目描述

给定正整数 NNKK

有一个 N×NN\times N 的网格。从上往下第 rr 行、从左往右第 cc 列的格子记为 (r,c)(r,c)

最初,一枚棋子放在格子 (1,1)(1,1) 上。

你要恰好进行 N21N^2-1 次以下操作,使棋子最终停在格子 (N,N)(N,N)

  • 把棋子移动到与当前格子上下或左右相邻的一个格子。

在此过程中,N2N^2 个格子中的每一个都必须恰好被访问一次。棋子最初所在的格子 (1,1)(1,1) 视为已访问。

请判断是否存在一种操作序列,使棋子恰好向右移动一格 KK 次;如果存在,求出任意一个这样的序列。

给定 TT 组测试数据,请分别求解。

输入格式

输入按以下格式从标准输入读入:

  • TT
  • case1\text{case}_1
  • case2\text{case}_2
  • \vdots
  • caseT\text{case}_T

每组测试数据按以下格式给出:

  • NN KK

输出格式

按顺序输出各组测试数据的答案,以换行分隔。

对于每组测试数据,如果不存在满足条件的操作序列,输出 No

如果存在满足条件的操作序列,按以下格式输出:

  • Yes\text{Yes}
  • S1S2SN21S_1S_2\dots S_{N^2-1}

其中 SkS_k 表示第 kk 次移动,为以下字符之一:

  • Sk=S_k= L 表示棋子向左移动一格
  • Sk=S_k= R 表示棋子向右移动一格
  • Sk=S_k= U 表示棋子向上移动一格
  • Sk=S_k= D 表示棋子向下移动一格

如果存在多个满足条件的操作序列,输出任意一个均可。

数据范围

  • 1T5×1031\le T\le 5\times 10^3
  • 2N1032\le N\le 10^3
  • 0KN210\le K\le N^2-1
  • 所有测试数据的 N2N^2 之和不超过 10610^6
  • 输入中的所有值均为整数。
3
3 4
2 1
5 10
Yes
RRDLLDRR
No
Yes
RRRRDDDLLLURRULLLDDDRRRR

考虑第一组测试数据。

从格子 (1,1)(1,1) 出发,依次经过 (1,2),(1,3),(2,3),(2,2),(2,1),(3,1),(3,2),(3,3)(1,2),(1,3),(2,3),(2,2),(2,1),(3,1),(3,2),(3,3),即可恰好向右移动一格四次并到达格子 (3,3)(3,3)

子任务设置

  • 子任务 1(30 分):N5N \le 5
  • 子任务 2(30 分):N100N \le 100
  • 子任务 3(40 分):无特殊限制。