P2670 [NOIP2015 普及组] 扫雷游戏
Posted Kunkun只喝怡宝
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了P2670 [NOIP2015 普及组] 扫雷游戏相关的知识,希望对你有一定的参考价值。
代码
1、用字符数组接受所有字符
2、依次检查每个非地雷格周围的地雷数
#include<bits/stdc++.h>
using namespace std;
char s[105][105];
int n,m;
void f(int x,int y);
int main(){
int i,j;
cin>>n>>m;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
cin>>s[i][j];
for(i=0;i<n;i++){
for(j=0;j<m;j++){
if(s[i][j]=='?')
f(i,j);
cout<<s[i][j];
}
cout<<endl;
}
return 0;
}
void f(int x,int y){
int cnt=0;
if(x-1>=0&&y-1>=0&&s[x-1][y-1]=='*') cnt++;
if(x-1>=0&&s[x-1][y]=='*') cnt++;
if(x-1>=0&&y+1<=m&&s[x-1][y+1]=='*') cnt++;
if(y-1>=0&&s[x][y-1]=='*') cnt++;
if(y+1<=m&&s[x][y+1]=='*') cnt++;
if(x+1<=n&&y-1>=0&&s[x+1][y-1]=='*') cnt++;
if(x+1<=n&&s[x+1][y]=='*') cnt++;
if(x+1<=n&&y+1<=m&&s[x+1][y+1]=='*') cnt++;
s[x][y]=cnt+'0';
}
以上是关于P2670 [NOIP2015 普及组] 扫雷游戏的主要内容,如果未能解决你的问题,请参考以下文章