1970:【15NOIP普及组】扫雷游戏
2024-10-21 09:55:01
1970:【15NOIP普及组】扫雷游戏
时间限制: 1000 ms 内存限制: 131072 KB
提交数: 5638 通过数: 3495
【题目描述】
扫雷游戏是一款十分经典的单机小游戏。在n行m列的雷区中有一些格子含有地雷(称之为地雷格),其他格子不含地雷(称之为非地雷格)。玩家翻开一个非地雷格时,该格将会出现一个数字——提示周围格子中有多少个是地雷格。游戏的目标是在不翻出任何地雷格的条件下,找出所有的非地雷格。
现在给出nn行mm列的雷区中的地雷分布,要求计算出每个非地雷格周围的地雷格数。
注:一个格子的周围格子包括其上、下、左、右、左上、右上、左下、右下八个方向上与之直接相邻的格子。
【输入】
第一行是用一个空格隔开的两个整数nn和mm,分别表示雷区的行数和列数。
接下来nn行,每行mm个字符,描述了雷区中的地雷分布情况。字符’*
’表示相应格子是地雷格,字符’?
’表示相应格子是非地雷格。相邻字符之间无分隔符。
【输出】
包含nn行,每行mm个字符,描述整个雷区。用’*
’表示地雷格,用周围的地雷个数表示非地雷格。相邻字符之间无分隔符。
【输入样例】
3 3
*??
???
?*?
【输出样例】
*10
221
1*1
【提示】
样例测试点#2:
输入:
2 3 |
输出:
2*1 |
对于 100%的数据, 1≤n≤100,1≤m≤1001≤n≤100,1≤m≤100。
输入不用讲,第二个嵌套循环就是判断下四周的雷,输出不讲。
#include<iostream>
using namespace std;
int main(){
int n,m;
cin>>n>>m;
char a[n+1][m+1]={-1};
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>a[i][j];
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(a[i][j]=='?'){
int cnt=48;
if(a[i][j+1]=='*') cnt++;
if(a[i+1][j]=='*') cnt++;
if(a[i][j-1]=='*') cnt++;
if(a[i-1][j]=='*') cnt++;
if(a[i-1][j+1]=='*') cnt++;
if(a[i+1][j-1]=='*') cnt++;
if(a[i+1][j+1]=='*') cnt++;
if(a[i-1][j-1]=='*') cnt++;
a[i][j]=cnt;
} }
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cout<<a[i][j];
}
cout<<endl;
}
return 0;
最新文章
- Android安全相关文章[不定期更新…]
- iOS App 无代码入侵的方法hook
- python实现支持并发、断点续传的Ftp程序
- Ubuntu16.04 操作
- 【CodeVS 1014】装箱问题
- 用vs2013编译lua源码方法
- HDU 2084 数塔
- [scalability] Find all documents that contain a list of words
- Java JNI调用c语言的dll测试
- javascript实现无缝上下滚动(转)
- (二)HTML5 - Web SQL 本地数据库
- 基于内容的自适应变长编码[CAVLC]
- Swift主题色顶级解决方案
- 《学习opencv》笔记——矩阵和图像处理——cvAnd、cvAndS、cvAvg and cvAvgSdv
- css中盒子宽高的auto
- JavaScript中编码函数escape,encodeURI,encodeURIComponent
- vue 数据绑定实现的核心 Object.defineProperty()
- 调试器GDB的基本使用方法
- yield send 的一些使用细节
- Kali linux Nessus &;Cracking Password
热门文章
- JavaScript 中如何拦截全局 Fetch API 的请求和响应?
- 【Dubbo3 终极特性】「云原生三中心架构」带你探索 Dubbo3 体系下的配置中心和元数据中心、注册中心的原理及开发实战(中)
- Java 进阶P-8.1+P-8.2
- 深度剖析 Linux 伙伴系统的设计与实现
- ChatGPT集成之前,让我们复习一下即将过时的知识
- drf-序列化器、反序列化、反序列化校验
- Spring6 DI 依赖注入--Bean属性赋值
- Python实现类别变量的独热编码(One-hot Encoding)
- 合肥光源纵向震荡数据源相关PV的增补
- vue-cli框架的下载以及框架目录介绍