题解 | #扫雷#

扫雷

https://www.nowcoder.com/practice/d5f277427d9a4cd3ae60ea6c276dddfd

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int Scan(int x, int y, int zu1[1000][1000])
{
	int t = 0;
	t = zu1[x - 1][y - 1] + zu1[x - 1][y] + zu1[x - 1][y + 1] + zu1[x][y - 1] + zu1[x][y + 1] + zu1[x + 1][y - 1] + zu1[x + 1][y] + zu1[x + 1][y + 1];
	return t;
}
int main()
{
	char zu[1000][1000] = { 0 };
	int zu1[1000][1000] = { 0 };
	char print[1000][1000] = { 0 };
	int i1, i2;
	int n, m;
	scanf("%d %d", &n, &m);
	getchar();
	for (i1 = 1; i1 <=n; i1++)
	{
		for (i2 = 1; i2 <=m; i2++)
		{
			scanf("%c",&zu[i1][i2]);
			if (zu[i1][i2] == '*')
			{
				zu1[i1][i2] = 1;
			}
		}
		getchar();
	}
	for (i1 = 1; i1 <= n; i1++)
	{
		for (i2 = 1; i2 <= m; i2++)
		{
			if (zu[i1][i2] == '*')
			{
				print[i1][i2] = '*';
			}
			else
			{
				int t = Scan(i1, i2, zu1);
				print[i1][i2] = t+'0';
			}
		}
		
	}
	
	for (i1 = 1; i1 <= n; i1++)
	{
		for (i2 = 1; i2 <= m; i2++)
		{
			printf("%c", print[i1][i2]);
		}
		printf("\n");
	}

	return 0;
}

全部评论

相关推荐

04-18 00:32
已编辑
中南大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务