128 lines
1.6 KiB
Markdown
128 lines
1.6 KiB
Markdown
# 骨牌密铺
|
||
|
||
## 题目描述
|
||
|
||
有一个宽度为 $n$ 的栅栏,第 $i$ 列的高度为 $h[i]$。现在请你用 $1\times 2$ 和 $2\times 1$ 的骨牌对其进行密铺,输出方案。
|
||
|
||
例如 $n=3, h=[1,3,2]$,一个可行方案为:
|
||
```plain
|
||
U
|
||
DU
|
||
LRD
|
||
```
|
||
这里 `L/R` 表示一块水平骨牌的左/右部分,`U/D` 表示一块竖直骨牌的上/下部分;**其余部分输出空格 ` `(ASCII码32)**。
|
||
|
||
更多的例子参加样例。
|
||
|
||
## 输入格式
|
||
|
||
第一行 1 个整数 $n$
|
||
|
||
第二行 $n$ 个整数 $h[1,2,...,n]$,**保证 $0\le h[i]\le 100$**
|
||
|
||
## 输出格式
|
||
|
||
如果无解输出 `-1`;否则,**输出一个 $100$ 行 $n$ 列的字符矩阵,骨牌用 `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$ |