bdfz_2024_summer/day8/U458497/U458497.md

128 lines
1.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 骨牌密铺
## 题目描述
有一个宽度为 $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$