CF44J Triminoes

题目描述

给出一个$n \times m$的棋盘,棋盘用黑白两色染色(染色规则与国际象棋棋盘相同),其上某些格子被挖掉了,问能否使用$1 \times 3$和$3 \times 1$的矩形不重不漏地覆盖没有挖空的棋盘部分。 注意:矩形放置的中间的格子必须要是黑色

输入格式

第一行两个正整数$n,m(1 \leq n,m \leq 1000)$ 接下来$n$行每行一个长度为$m$的字符串表示棋盘。字符为$'\ .\ '$表示这一个格子被挖空了,为$w$或$b$表示这个格子没有被挖空,颜色为白色或黑色。

输出格式

如果不存在方案,输出一行$NO$,否则输出一行$YES$后输出一个$n \times m$的矩阵,表示覆盖方案。原棋盘中的挖空部分仍然输出$'\ .\ '$,未被挖空的部分需要用$a,b,c,d$其中之一代替,输出中三个连续的$a,b,c,d$表示一个$1 \times 3$或$3 \times 1$的矩形