【暴力】扫雷游戏

在这里插入图片描述

样例输入#1

3 3
*??
???
?*?

样例输入#2

2 3
?*?
*??

样例输出#1

*10
221
1*1

样例输出#1

2*1
*21

思路

水题…
暴力

#include<iostream>
#include<cstdio>
using namespace std;
const int dx[9]={0,1,1,-1,-1,0,0,1,-1};
const int dy[9]={0,1,-1,1,-1,1,-1,0,0};
int n,m,a[505][505];
bool check(int x,int y)
{
	if(x<1 || y<1 || x>n || y>m)return 0;
	return 1;
}
int main()
{
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=m;j++)
		{
			char s;
			cin>>s;
			if(s=='*')
			{
				for(int k=1;k<=8;k++)
					if(check(i+dx[k],j+dy[k]))a[i+dx[k]][j+dy[k]]++;
				a[i][j]=-100;
			}
			
		}
	}
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=m;j++)
			if(a[i][j]>=0)printf("%d",a[i][j]);
			else printf("*");
		printf("\n");
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/SSL_wujiajie/article/details/83187144