扫雷游戏
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
int main()
{
int m,n;
char a[101][101];
int b[101][101]={0};
cin>>m>>n;
for(int i=1;i<=m;++i)
for(int j=1;j<=n;++j)
{
cin>>a[i][j];
if(a[i][j]=='*')
b[i][j]=1;
}
for(int i=1;i<=m;++i)
{
for(int j=1;j<=n;++j)
{
if(a[i][j]=='*')
cout<<"*";
else
{
cout<<b[i-1][j-1]+b[i+1][j+1]+b[i-1][j]+b[i+1][j]+b[i-1][j+1]+b[i+1][j-1]+b[i][j-1]+b[i][j+1];
}
}
cout<<endl;
}
return 0;
}
满分答案:
#include <iostream>
using namespace std;
int main(){
int n,m;
cin>>n>>m;
char A[105][105];
int B[105][105]={0};
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
cin>>A[i][j];
}
}
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
if(A[i][j]=='*')
{
B[i-1][j-1]++;
B[i-1][j]++;
B[i-1][j+1]++;
B[i][j-1]++;
B[i][j+1]++;
B[i+1][j-1]++;
B[i+1][j]++;
B[i+1][j+1]++;
}
}
}
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
if(A[i][j]=='*')
cout<<'*';
else
cout<<B[i][j];
}
cout<<endl;
}
}
浙公网安备 33010602011771号