CF515D Drazil and Tiles
题目描述
Drazil 创建了如下问题,关于将 $1\times2$ 的瓷砖放入 $n\times m$ 的网格中:
“有一个网格,其中有些格子是空的,有些是被占据的。你需要用 $1\times2$ 的瓷砖覆盖所有空格,且不能有两块瓷砖覆盖同一位置。你应该输出一个解决方案说明如何放置。”
但 Drazil 并不想为此题编写特殊的检查程序。他的朋友 Varda 建议说:“你可以让参赛者只在存在且仅有唯一解时输出方案,否则就输出 ‘Not unique’。”
Drazil 发现,对于这个新任务来说,题目的约束比原问题要大得多!
你能解决这个新问题吗?
注意,如果无解或者原问题有多个不同的解,你都应该输出 “Not unique”。
输入格式
第一行包含两个整数 $n$ 和 $m$($1\leq n,m \leq 2000$)。
接下来的 $n$ 行描述网格的每一行。字符 ‘.’ 表示空格,字符 ‘*’ 表示被占据的格子。
输出格式
如果无解,或者解不唯一,则输出字符串 "Not unique"。
否则,你应该输出如何用 $1\times2$ 的瓷砖覆盖所有空格。用字符 "" 表示水平放置的瓷砖,用字符 "^v" 表示竖直放置的瓷砖。具体输出格式可参考样例。
说明/提示
在第一个样例中,确实存在两种不同的解法:
```plain
^
^*v
v
```
以及
```plain
^
v*^
v
```
因此答案为 "Not unique"。
由 ChatGPT 5 翻译