#P16072. [2022国家队训练南京站]推硬币

[2022国家队训练南京站]推硬币

题目描述

小 T 有一张 n×nn\times n 的棋盘和很多硬币。他想把硬币都放到棋盘上,使得每个格子上恰好有一枚硬币。

记棋盘第一行的上方从左到右的位置依次为 U1,U2,,Un\mathrm{U}1,\mathrm{U}2,\ldots,\mathrm{U}n,最后一行下方从左到右的位置依次为 D1,D2,,Dn\mathrm{D}1,\mathrm{D}2,\ldots,\mathrm{D}n。类似地,记第一列左边和最后一列右边从上到下的位置依次分别为 L1,L2,,Ln\mathrm{L}1,\mathrm{L}2,\ldots,\mathrm{L}nR1,R2,,Rn\mathrm{R}1,\mathrm{R}2,\ldots,\mathrm{R}n

每次操作,小 T 会将一枚硬币放在这些在棋盘外面且与某个格子相邻的位置,之后按照往棋盘内的方向推硬币,直到该枚硬币恰好位于格子内为止。若格子上已经有另外一枚硬币,则那枚硬币也会被往里推一个格子。如果有硬币被推出棋盘外,则视为失败。

例如,下图是在 3×33\times3 的棋盘上进行的 99 次合法操作。

小 T 觉得这样推硬币还是太没意思了。于是他对每个棋盘外面的位置 Ui,Di,Li,Ri\mathrm{U}i,\mathrm{D}i,\mathrm{L}i,\mathrm{R}i 都分别写上了数 Ui,Di,Li,RiU_i,D_i,L_i,R_i,表示在这个位置进行操作的次数。但在写完数之后,小 T 发现他并不能很快找出一组合法的方案。请你帮他找到。

输入格式

第一行一个整数 nn,表示棋盘大小。

第二行 nn 个整数 UiU_i,表示位置 Ui\mathrm{U}i 的操作次数。

第三行 nn 个整数 DiD_i,表示位置 Di\mathrm{D}i 的操作次数。

第四行 nn 个整数 LiL_i,表示位置 Li\mathrm{L}i 的操作次数。

第五行 nn 个整数 RiR_i,表示位置 Ri\mathrm{R}i 的操作次数。

输出格式

如果无解,输出 NO

否则输出 n2n^2 行,每行形如 Ui\mathrm{U}iDi\mathrm{D}iLi\mathrm{L}iRi\mathrm{R}i,表示每次操作的位置。

样例 1

输入

3
0 0 1
1 1 0
3 0 1
0 1 1

输出

L1
L1
L1
L3
D1
R2
U3
R3
D2

样例 2

输入

2
3 0
0 0
0 1
0 0

输出

NO

样例解释

样例 1 即为题面中所给图片。

样例 2 中 U1=3U_1=3,显然不可能构造出合法方案。

数据范围

对于所有数据:

  • 1n3001\le n\le 300
  • 0Ui,Di,Li,Ri0\le U_i,D_i,L_i,R_i
  • i(Ui+Di+Li+Ri)=n2\sum_i(U_i+D_i+L_i+R_i)=n^2

子任务:

子任务 分值 限制
1 11 n3n\le 3
2 15 Di=Ri=0D_i=R_i=0
3 19 Di=0D_i=0
4 25 n40n\le 40
5 30 无特殊限制