bdfz_2024_summer/day8/U458497/U458497.md

1.6 KiB
Raw Permalink Blame History

骨牌密铺

题目描述

有一个宽度为 n 的栅栏,第 i 列的高度为 $h[i]$。现在请你用 1\times 22\times 1 的骨牌对其进行密铺,输出方案。

例如 $n=3, h=[1,3,2]$,一个可行方案为:

 U
 DU
LRD

这里 L/R 表示一块水平骨牌的左/右部分,U/D 表示一块竖直骨牌的上/下部分;其余部分输出空格 ASCII码32

更多的例子参加样例。

输入格式

第一行 1 个整数 n

第二行 n 个整数 $h[1,2,...,n]$保证 $0\le h[i]\le 100$

输出格式

如果无解输出 -1;否则,输出一个 100n 列的字符矩阵,骨牌用 L/R/U/D 表示,其余用空格 表示

  • 注意严格按照输出格式进行输出,合法方案必须要输出 100 行

样例 #1

样例输入 #1

3
1 3 2

样例输出 #1

U
 DU
LRD

样例 #2

样例输入 #2

4
6 7 5 4

样例输出 #2

U
UD
DUU
UDDU
DUUD
UDDU
DLRD

样例 #3

样例输入 #3

4
1 2 2 3

样例输出 #3

U
 LRD
LRLR

样例 #4

样例输入 #4

6
1 2 3 3 2 1

样例输出 #4

LR
 LRLR
LRLRLR

样例 #5

样例输入 #5

6
1 2 1 1 2 1

样例输出 #5

-1

提示

注意,为了样例可读性,样例输出忽略了空行

对于 27% 的数据,n,h[i]\le 3

对于 49% 的数据,n,h[i]\le 5

对于另 17% 的数据,n\le 1000, h[i]\le 2

对于另 17% 的数据,n\le 1000, h[i]\le 10

对于所有数据,1\le n\le 1000, 0\le h[i]\le 100