题解
2025-04-30 21:43:59
发布于:浙江
0阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
int n,m;
char a[105][105];
int ans[105][105];
int f(int x,int y)
{
if(x>0&&x<=n&&y>0&&y<=m) return 1;
else return 0;
}
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
cin>>a[i][j];
}
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
if(a[i][j]=='*') continue;
if(a[i-1][j-1]=='*'&&f(i-1,j-1)) ans[i][j]++;
if(a[i-1][j]=='*'&&f(i-1,j)) ans[i][j]++;
if(a[i-1][j+1]=='*'&&f(i-1,j+1)) ans[i][j]++;
if(a[i][j-1]=='*'&&f(i,j-1)) ans[i][j]++;
if(a[i][j+1]=='*'&&f(i,j+1)) ans[i][j]++;
if(a[i+1][j-1]=='*'&&f(i+1,j-1)) ans[i][j]++;
if(a[i+1][j]=='*'&&f(i+1,j)) ans[i][j]++;
if(a[i+1][j+1]=='*'&&f(i+1,j+1)) ans[i][j]++;
}
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
if(a[i][j]=='*')
{
cout<<"*";
}
else
{
cout<<ans[i][j];
}
}
cout<<endl;
}
}
这里空空如也
有帮助,赞一个