扫雷
原题链接https://nuoyanli.com/contest/32/problem/B
首先录入雷的点,
对于每一个不是雷的点判断8个角有多少个雷
然后把"."改为雷数
输出
#include<algorithm>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<cstdio>
#include<iostream>
using namespace std;
struct node
{
char s[1001];
}stu[1001];
int main()
{
long long m,n;
scanf("%lld %lld",&n,&m);
long long i,j;
memset(stu,0,sizeof(stu));
for(i=0;i<n;i++)
{
scanf("%s",stu[i].s);
}
long long sum=0;
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
if(stu[i].s[j]=='.')
{
if(stu[i+1].s[j]=='*')
{
sum++;
}
if(stu[i+1].s[j+1]=='*')
{
sum++;
}
if(stu[i+1].s[j-1]=='*')
{
sum++;
}
if(stu[i].s[j+1]=='*')
{
sum++;
}
if(stu[i].s[j-1]=='*')
{
sum++;
}
if(stu[i-1].s[j]=='*')
{
sum++;
}
if(stu[i-1].s[j+1]=='*')
{
sum++;
}
if(stu[i-1].s[j-1]=='*')
{
sum++;
}
stu[i].s[j]=sum+'0';
sum=0;
}
}
}
for(i=0;i<n;i++)
{
printf("%s",stu[i].s);
if(i<n-1)
{
printf("\n");
}
}
return 0;
}