80分求助,大佬帮看!!!
查看原帖
80分求助,大佬帮看!!!
1021829
yxShaw楼主2024/6/30 10:18

第二组样例不过

#include <iostream>
#include <cstdio>

using namespace std;

int n, m; 
char a[110][110];

int main()
{
	cin >> n >> m;
	for(int i = 1; i <= n; i++)
	{
		for(int j = 1; j <= n; j++)
		{	
			cin >> a[i][j];
		}
	}
	
	for(int i = 1; i <= n; i++)
	{
		char sum = '0';
		for(int j = 1; j <= n; j++)
		{
			if(a[i][j] == '*') continue;
			if(a[i][j] == '?')
			{
				/*
					八个点
					a[i][j+1]
					a[i+1][j]
					a[i][j-1]
					a[i-1][j]
					a[i+1][j+1]
					a[i-1][j-1]
					a[i+1][j-1]
					a[i-1][j+1] 
				*/
				if(a[i][j+1] == '*') sum++;
				if(a[i+1][j] == '*') sum++;
				if(a[i][j-1] == '*') sum++;
				if(a[i-1][j] == '*') sum++;
				if(a[i+1][j+1] == '*') sum++;
				if(a[i-1][j+1] == '*') sum++;
				if(a[i-1][j-1] == '*') sum++;
				if(a[i+1][j-1] == '*') sum++;
				a[i][j] = sum;
				sum = '0';
			}
		}
	}
	for(int i = 1; i <= n; i++)
	{
		for(int j = 1; j <= n; j++)
		{
			cout << a[i][j];
		}
		cout << endl;
	}
    return 0;
}
2024/6/30 10:18
加载中...