不会还有人不会暴力枚举吧,不会吧不会吧
#include <bits/stdc++.h>
using namespace std;int main()
{
int m, n;
cin >> n >> m;
int saolei[n][m];
fill_n(&saolei[0][0], m * n, -2);
char a;
int x = 0, y = 0;
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
{
cin >> a;
if (a == '*')
saolei[i][j] = -1;
}
}
int dir[8][2] = {{1, 0}, {1, 1}, {0, 1}, {-1, 1}, {1, -1}, {-1, 0}, {0, -1},{-1,-1}};
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
{
if (saolei[i][j] == -1)
{
cout << "*";
continue;
}
int count = 0;
for (int k = 0; k < 8; k++)
{
int px = i + dir[k][0];
int py = j + dir[k][1];
if (px < 0 || px > n-1 || py < 0 || py > m-1)
continue;
else if (saolei[px][py] == -1)
count++;
}
cout << count;
}
cout << endl;
}
}