CF1567F One-Four Overload

题目描述

Alice 有一个 $n$ 行 $m$ 列的矩阵,矩阵中有些单元格被标记了,而有的没有。在与矩阵边缘相邻的单元格总是没有被标记的。(当且仅当两个单元格共边时,我们称这两个单元格式相邻的)。 Alice 想往每个单元格里填入一个数字,使得该矩阵满足以下条件: - 每个没标记的格子只能填入 $1$ 或者 $4$; - 每个标记的格子的数字必须为**与它相邻的没有被标记的格子之和**; - 每个标记的单元格的数字必须为 $5$ 的倍数。 Alice 是蒟蒻,做不出来,于是找你来帮忙 ~~(实际上是找的 Bob 然后让你来帮忙,但不如你直接帮 Alice)~~。

输入格式

第一行 $n$ 与 $m$($1 \le n,m \le 500$)。 接下来 $n$ 行每行 $m$ 列,为一个字符 `X` 或 `.`,分别表示标记过的格子(`X`)与没标记过的格子(`.`)。

输出格式

第一行输出 `YES` 或 `NO`,表示是否存在一个合法的矩阵以满足 Alice 的要求。 如果输出的是 `YES`,则输出一个矩阵,表示合法的矩阵。 翻译 @[XiaoQuQu](https://www.luogu.com.cn/user/427623)

说明/提示

It can be shown that no such grid exists for the second test.