#P9820. [ICPC 2020 Shanghai R] Mine Sweeper II
[ICPC 2020 Shanghai R] Mine Sweeper II
Description
扫雷地图 可以表示为一个 的网格。网格中的每个单元格要么是地雷单元格,要么是非地雷单元格。地雷单元格上没有数字。每个非地雷单元格有一个数字,表示其周围地雷单元格的数量。(如果一个单元格与另一个单元格共享至少一个公共点,则它们是相邻的。因此,每个不在边界上的单元格周围有 个单元格。)以下是一个 的扫雷地图,其中标记的单元格表示地雷单元格,空白单元格表示数字为 0 的非地雷单元格。

给定两个大小为 的扫雷地图 ,你应该在 中修改最多 (即小于或等于 的最大非负整数)个单元格(从非地雷单元格变为地雷单元格或反之),使得 中非地雷单元格的数字之和与 中非地雷单元格的数字之和相同。(如果地图中没有非地雷单元格,则和被视为 。)
如果存在多个解,输出其中任意一个。如果不存在解,输出一行 -1。
Input Format
第一行包含两个整数 ,表示给定的扫雷地图的大小。
接下来的 行的第 行包含一个长度为 的字符串,由 . 和 X 组成,表示扫雷地图 的第 行。. 表示非地雷单元格,X 表示地雷单元格。
接下来的 行的第 行包含一个长度为 的字符串,由 . 和 X 组成,表示扫雷地图 的第 行。. 表示非地雷单元格,X 表示地雷单元格。
Output Format
如果不存在解,输出一行 -1。
否则,输出 行表示修改后的扫雷地图 。第 行应包含一个长度为 的字符串,由 . 和 X 组成,表示修改后的地图 的第 行。. 表示非地雷单元格,X 表示地雷单元格。
请注意,您不需要输出非地雷单元格上的数字,因为这些数字可以通过输出的扫雷地图确定。
2 4
X..X
X.X.
X.X.
.X..
X.XX
.X..
Hint
我们在 中修改一个单元格。然后 和 中非地雷单元格上的数字之和都等于 10。
题面翻译由 ChatGPT-4o 提供。
京公网安备 11011102002149号