求助大佬,为啥只有30分啊,感觉思路没有问题的
查看原帖
求助大佬,为啥只有30分啊,感觉思路没有问题的
735861
pioneer_Rick楼主2022/10/6 19:46
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
const int N=110, M = 110;
int dx[3] = { -1,0,1 }, dy[3] = { 0,1,-1 };
char mmap[N][M];
int n, m;

void check(char di,int x,int y)
{
	if (di == '*')return;
	mmap[x][y] = '0';
	for (int i = 0; i < 3; ++i)
	{
		int x2 = x + dx[i];
		for (int j = 0; j < 3; ++j)
		{
			int y2 = y + dy[j];
			if (1 <= x2 && x2 <= n && 1 <= y2 && y2 <= m&&mmap[x2][y2]=='*')
			{
				mmap[x][y]++;
			}
		}
	}
}
int main()
{
	cin >> n >> m;
	for (int i = 1; i <= n; ++i)
	{
		for (int j = 1; j <= m; ++j)
			cin >> mmap[i][j];
	}
	for (int i = 1; i <= n; ++i)
	{
		for (int j = 1; j <= m; ++j)
			check(mmap[i][j],i,j) ;
	}
	for (int i = 1; i <= n; ++i)
	{
		for (int j = 1; j <= m-1; ++j)
			cout<< mmap[i][j]<<" ";
		int j = m;
		cout << mmap[i][j] << endl;
	}

}
2022/10/6 19:46
加载中...