开心扫雷
题号:NC220065
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

扫雷游戏是一款十分经典的电脑单机游戏,在雷区里,雷区是由n行m列的网格组成,这些网格又分为地雷区和非地雷区。地雷区是由一个地雷组成,非地雷区会有一个数字,代表周围八个格子中的地雷数。要求计算出非地雷区的数字。

注:一个格子的周围格子包括其上、下、左、右、左上、右上、左下、右下八个方

输入描述:

输入文件第一行是用一个空格隔开的两个整数n和m,分别表示雷区的行数和列数。

接下来n行,每行m个字符,描述了雷区中的地雷分布情况。‘*’代表为地雷区,‘?’表示为非地雷区。

输出描述:

输出文件包含n行,每行m个字符,描述整个雷区。用字符’*’表示地雷区,将非雷区用数字表示 

示例1

输入

复制
3 3
*??
???
?*?

输出

复制
*10
221
1*1
示例2

输入

复制
2 3
?*?
*??

输出

复制
2*1
*21

备注:

 1≤n≤100,1≤m≤100。