题号:NC214177
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
今天是周末,冰姐和轩轩在宿舍一起玩扫雷。
扫雷的规则是这样的:在

行

列的雷区中有一些格子含有地雷(称之为地雷格),其他格子不含地雷(称之为非地雷格)。玩家翻开一个非地雷格时,该格将会出现一个数字
——提示周围格子中有多少个是地雷。游戏的目标是在不翻出任何地雷格的条件下,找出所有的非地雷格。
冰姐觉得这样的规则有些无聊,便修改了非地雷格。修改后的非地雷格会显示以当前格子为中心的
X区域有多少个是地雷(
X的两条边会一直延伸到雷区边界)。
现在给出

行

列的雷区中的地雷分布,要求计算出每个非地雷格以当前格子为中心的
X区域的地雷个数
。
下图所示的非地雷格的X区域有3个地雷。
输入描述:
第一行是用一个空格隔开的两个整数
和
,分别表示雷区的行数和列数。
接下来

行,每行

个数字,描述了雷区中的地雷分布情况。
数字

表示相应格子是地雷格,数字

表示相应格子是非地雷格。
输出描述:
输出包含
行,每行
个数字,描述整个雷区。用
表示地雷格,用以非地雷格为中心X型区域的地雷个数表示非地雷格。
示例1
输入
复制
6 6
-1 0 -1 0 -1 -1
0 -1 0 0 -1 -1
0 -1 0 0 0 0
-1 0 -1 0 0 0
0 0 0 0 -1 0
0 0 0 -1 0 -1
输出
复制
-1 0 -1 3 -1 -1
2 -1 2 2 -1 -1
3 -1 5 3 2 1
-1 2 -1 5 0 3
1 4 2 2 -1 0
3 1 1 -1 2 -1