暴力模拟
#include <iostream>
using namespace std;
int main(){
int a,b;
cin>>a>>b;
char c[100][100];
for(int i=0;i<a;i++)
for(int j=0;j<b;j++)
cin>>c[i][j];
for(int i=0;i<a;i++)
for(int j=0;j<b;j++)
if(c[i][j]!='*')
c[i][j]='0';
for(int i=0;i<a;i++)
for(int j=0;j<b;j++)
if(c[i][j]=='*')
{
if(c[i-1][j-1]!='*'&&i>0&&j>0)c[i-1][j-1]+=1;
if(c[i-1][j]!='*'&&i>0)c[i-1][j]+=1;
if(c[i-1][j+1]!='*'&&i>0&&j<b)c[i-1][j+1]+=1;
if(c[i][j-1]!='*'&&j>0)c[i][j-1]+=1;
if(c[i][j+1]!='*'&&j<b)c[i][j+1]+=1;
if(c[i+1][j-1]!='*'&&i<a&&j>0)c[i+1][j-1]+=1;
if(c[i+1][j]!='*'&&i<a)c[i+1][j]+=1;
if(c[i+1][j+1]!='*'&&i<a&&j<b)c[i+1][j+1]+=1;
}
for(int i=0;i<a;i++)
{
for(int j=0;j<b;j++)
cout<<c[i][j];
cout<<endl;
}
}