#include <bits/stdc++.h>
using namespace std;
int a[105][105];
char b[105][105];
int main()
{
int n, m;
char c;
cin >> n >> m;
for (int i = 0; i < n; i ++)
{
for (int j = 0; j < m; j ++)
{
cin >> c;
if (c == '*') a[i][j] = 1;
}
}
for (int i = 0; i < n; i ++)
{
for (int j = 0; j < m; j ++)
{
if (a[i][j] == 0)
{
b[i][j] = (a[i - 1][j - 1] + a[i - 1][j] + a[i - 1][j + 1] + a[i][j - 1] + a[i][j + 1] + a[i + 1][j - 1] + a[i + 1][j] + a[i + 1][j + 1]) + 48;
}
if (a[i][j] == 1)
{
b[i][j] = '*';
}
}
}
for (int i = 0; i < n; i ++)
{
for (int j = 0; j < m; j ++)
{
cout << b[i][j];
}
cout << endl;
}
return 0;
}
输出都是对的,从题目上下载数据数据测试(下载的数据就是题面上给的:<)也是对的,但评测机硬说错了 QwQ