【暴力】扫雷游戏
样例输入#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;
}