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 普及组] 扫雷游戏的主要内容,如果未能解决你的问题,请参考以下文章

洛谷 P2670 [NOIP2015 普及组] 扫雷游戏

算法1-1模拟与高精度

扫雷游戏(NOIP2015 普及组第二题)

Luogu P2670 扫雷游戏

P2670 扫雷游戏

洛谷 P2670 扫雷游戏