测试点9打开是乱码,90分求助
查看原帖
测试点9打开是乱码,90分求助
448969
sharasans楼主2021/2/24 15:15
#include<stdio.h>
#include<string.h>
#include <math.h>
int main()
{
	int n, m;
	scanf("%d %d", &n, &m);
	char a[101][101];
	int b[101][101];
	for (int i = 0; i < n; i++)
	{
		scanf("%s", &a[i]);
	}
	for (int i = 0; i < n; i++)
	{
		for (int j = 0; j < m; j++)
		{
			if (a[i][j] == '*')
				b[i][j] = -10;
			else
			{
				b[i][j] = 0;
			}
		}
	}
	for (int i = 0; i < n; i++)
	{
		for (int j = 0; j < m; j++)
		{
			if (b[i][j] == -10)
				continue;
			if (i == 0 && j == 0)
			{
				if (b[0][1] == -10)
					b[0][0]++;
				if (b[1][0] == -10)
					b[0][0]++;
				if (b[1][1] == -10)
					b[i][j]++;
			}
			if (i == n - 1 && j == 0)
			{
				if (b[n - 2][0] == -10)
					b[n - 1][0]++;
				if (b[n - 1][1] == -10)
					b[n - 1][0]++;
				if(b[n-2][j+1]==-10)
					b[i][j]++;
			}
			if (i == 0 && j == m - 1)
			{
				if (b[0][m - 2] == -10)
					b[0][m - 1]++;
				if (b[1][m - 1] == -10)
					b[0][m - 1]++;
				if(b[1][m-2]==-10)
					b[i][j]++;
			}
			if (i == n - 1 && j == m - 1)
			{
				if (b[n - 2][m - 1] == -10)
					b[n - 1][m - 1]++;
				if (b[n - 1][m - 2] == -10)
					b[n - 1][m - 1]++;
				if(b[n-2][m-2]==-10)
					b[i][j]++;
			}
			if (i == 0 && j != 0 && j != m - 1)
			{
				if (b[0][j - 1] == -10)
					b[i][j]++;
				if (b[0][j + 1] == -10)
					b[i][j]++;
				if (b[1][j] == -10)
					b[i][j]++;
				if(b[1][j-1]==-10)
					b[i][j]++;
				if(b[1][j+1]==-10)
					b[i][j]++;

			}
			if (i == n - 1 && j != 0 && j != m - 1)
			{
				if (b[n - 1][j - 1]==-10)
					b[i][j]++;
				if(b[n-1][j+1]==-10)
					b[i][j]++;
				if(b[n-2][j]==-10)
					b[i][j]++;
				if(b[n-2][j+1]==-10)
					b[i][j]++;
				if(b[n-2][j-1]==-10)
					b[i][j]++;
			}
			if (j == 0 && i != 0 && i != n - 1)
			{
				if(b[i-1][j]==-10)
					b[i][j]++;
				if(b[i+1][j]==-10)
					b[i][j]++;
				if(b[i][j+1]==-10)
					b[i][j]++;
				if(b[i-1][j+1]==-10)
					b[i][j]++;
				if(b[i+1][j+1]==-10)
					b[i][j]++;
			}
			if (j == m - 1 && i != 0 && i != n - 1)
			{
				if (b[i - 1][j] == -10)
					b[i][j]++;
				if (b[i + 1][j] == -10)
					b[i][j]++;
				if (b[i][j - 1] == -10)
					b[i][j]++;
				if(b[i-1][j-1]==-10)
					b[i][j]++;
				if(b[i+1][j-1]==-10)
					b[i][j]++;
			}
			if (i > 0 && i < n - 1 && j>0 && j < m - 1)
			{
				if (b[i+1][j+1] == -10)
					b[i][j]++;
				if (b[i+1][j] == -10)
					b[i][j]++;
				if (b[i+1][j-1] == -10)
					b[i][j]++;
				if (b[i][j+1] == -10)
					b[i][j]++;
				if (b[i][j-1] == -10)
					b[i][j]++;
				if (b[i-1][j+1] == -10)
					b[i][j]++;
				if (b[i-1][j] == -10)
					b[i][j]++;
				if (b[i-1][j-1] == -10)
					b[i][j]++;

			}
		}
	}
	for (int i = 0; i < n; i++)
	{
		for (int j = 0; j < m; j++)
		{
			if (b[i][j] == -10)
				printf("*");
			else
				printf("%d", b[i][j]);
			if (j == m - 1)
				printf("\n");
		}
	}
}
2021/2/24 15:15
加载中...