C++算法代码——扫雷游戏
题目来自:http://218.5.5.242:9018/JudgeOnline/problem.php?id=1685
题目描述
扫雷游戏是一款十分经典的单机小游戏。 在 n 行 m 列的雷区中有一些格子含有地雷(称之为地雷格) ,其他格子不含地雷(称之为非地雷格) 。玩家翻开一个非地雷格时,该格将会出现一个数字——提示周围格子中有多少个是地雷格。 游戏的目标是在不翻出
任何地雷格的条件下,找出所有的非地雷格。
现在给出n行m列的雷区中的地雷分布, 要求计算出每个非地雷格周围的地雷格数。注:一个格子的周围格子包括其上、下、左、右、左上、右上、左下、右下八个方向上与之直接相邻的格子。
输入
输入文件名为 mine.in。
输入文件第一行 是用一个空格隔开的 两个整数n和m, 分别表示雷区的行数和列数。
接下来 n 行,每行 m 个字符,描述了雷区中的地雷分布情况。字符’*’表示相应格子是地雷格,字符’?’表示相应格子是非地雷格。相邻字符之间无分隔符。
输出
输出文件名为 mine.out。
输出文件包含 n 行,每行 m 个字符,描述整个雷区。用’*’表示地雷格,用周围的地雷个数表示非地雷格。相邻字符之间无分隔符。
样例输入
3 3
*??
???
?*?
样例输出
*10
221
1*1
提示
【输入输出样例 2】
mine.in
2 3
?*?
*??
mine.out
2*1
*21
见选手目录下的 mine/mine2.in 和 mine/mine2.ans。
【输入输出样例 3】
见选手目录下的 mine/mine3.in 和 mine/mine3.ans。
【数据说明】
对于 100%的数据,1≤n≤100,1≤m≤100。
#include <iostream>
using namespace std; int main(){
int n,m,x;
cin >> n >> m;
char a[n+1][m+1];
int b[n+1][m+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++){
x = 0;
if (a[i][j] == 42){
b[i][j] = 42;
continue;
}
if (a[i][j + 1] == 42){
x++;
}
if (a[i][j - 1] == 42){
x++;
}
if (a[i - 1][j] == 42){
x++;
}
if (a[i + 1][j] == 42){
x++;
}
if (a[i + 1][j + 1] == 42){
x++;
}
if (a[i - 1][j - 1] == 42){
x++;
}
if (a[i + 1][j - 1] == 42){
x++;
}
if (a[i - 1][j + 1] == 42){
x++;
}
b[i][j] = x;
x = 0;
}
}
for (int i = 1;i <= n;i++){
for (int j = 1;j <= m;j++){
if (b[i][j] == 42){
cout << "*" ;
continue;
}
cout << b[i][j];
}
cout << endl;
}
}
注意:此题代码可以简化
C++算法代码——扫雷游戏的更多相关文章
- C++算法代码——鹅卵石游戏
题目来自:http://218.5.5.242:9018/JudgeOnline/problem.php?id=2334 题目描述 为了消磨时光,奶牛Bessie和她的朋友Elsie喜欢玩一种她们在农 ...
- C++算法代码——卡片游戏
题目来自:http://218.5.5.242:9018/JudgeOnline/problem.php?cid=1397&pid=2 题目描述 桌上有一叠牌,从第一张牌(即位于顶面的牌)开始 ...
- 『HTML5实现人工智能』小游戏《井字棋》发布,据说IQ上200才能赢【算法&代码讲解+资源打包下载】
一,什么是TicTacToe(井字棋) 本游戏为在下用lufylegend开发的第二款小游戏.此游戏是大家想必大家小时候都玩过,因为玩它很简单,只需要一张草稿纸和一只笔就能开始游戏,所以广受儿童欢迎. ...
- 【Android】自己动手做个扫雷游戏
1. 游戏规则 扫雷是玩法极其简单的小游戏,点击玩家认为不存在雷的区域,标记出全部地雷所在的区域,即可获得胜利.当点击不包含雷的块的时候,可能它底下存在一个数,也可能是一个空白块.当点击中有数字的块时 ...
- C#编写扫雷游戏
翻看了下以前大学学习的一些小项目,突然发现有个项目比较有意思,觉得有必要把它分享出来.当然现在看来,里面有很多的不足之处,但因博主现在已经工作,没有时间再去优化.这个项目就是利用C#编写一个Windo ...
- C# -- HttpWebRequest 和 HttpWebResponse 的使用 C#编写扫雷游戏 使用IIS调试ASP.NET网站程序 WCF入门教程 ASP.Net Core开发(踩坑)指南 ASP.Net Core Razor+AdminLTE 小试牛刀 webservice创建、部署和调用 .net接收post请求并把数据转为字典格式
C# -- HttpWebRequest 和 HttpWebResponse 的使用 C# -- HttpWebRequest 和 HttpWebResponse 的使用 结合使用HttpWebReq ...
- iOS 扫雷游戏
代码地址如下:http://www.demodashi.com/demo/11254.html 1.项目结构图 Viewcontroller:扫雷逻辑代码 LevelModel:扫雷难度选择代码 2. ...
- 用算法去扫雷(go语言)
最初的准备 首先得完成数据的录入,及从扫雷的程序读取界面数据成为我的算法可识别的数据 其次是设计扫雷的算法,及如何才能判断格子是雷或者可以点击鼠标左键和中键. 然后将步骤2的到的结果通过我的程序实现鼠 ...
- [LeetCode] Minesweeper 扫雷游戏
Let's play the minesweeper game (Wikipedia, online game)! You are given a 2D char matrix representin ...
随机推荐
- DDD领域驱动设计:CQRS
1 前置阅读 在阅读本文章之前,你可以先阅读: DDD领域驱动设计是什么 DDD领域驱动设计:实体.值对象.聚合根 DDD领域驱动设计:仓储 MediatR一个优秀的.NET中介者框架 2 什么是CQ ...
- .Net微服务实战之必须得面对的分布式问题
系列文章 .Net微服务实战之技术选型篇 .Net微服务实战之技术架构分层篇 .Net微服务实战之DevOps篇 .Net微服务实战之负载均衡(上) .Net微服务实战之CI/CD .Net微服务实战 ...
- hdu1625 Numbering Paths (floyd判环)
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission ...
- Codeforces Round #481 (Div. 3) F. Mentors (模拟,排序)
题意:有一个长度为\(n\)的序列\(a\),求这个序列中有多少比\(a_{i}\)小的数,如果某两个位置上的数有矛盾,则不能算小. 题解:用\(pair\)来记录序列中元素的位置和大小,将他们升序排 ...
- HDU-3081-Marriage Match II 二分图匹配+并查集 OR 二分+最大流
二分+最大流: 1 //题目大意:有编号为1~n的女生和1~n的男生配对 2 // 3 //首先输入m组,a,b表示编号为a的女生没有和编号为b的男生吵过架 4 // 5 //然后输入f组,c,d表示 ...
- 手动编译Selenium源码
起因 Selenium ChromeDriver和Chrome升级到最新v81版本,同时需要将Selenium3.3.1升级到3.141.59. Selenium本身不支持https,所以修改源码用于 ...
- WSL2 准备dotnet core开发环境
首先我们要知道WSL Ubuntu的版本,以便进行下一步操作: 我的是18.04,所以安装dot net SDK我们参考这里: https://docs.microsoft.com/en-us/dot ...
- VSCode VUE常用配置
{ // vscode默认启用了根据文件类型自动设置tabsize的选项 "editor.detectIndentation": false, // 重新设定tabsi ...
- Laravel Homestead 安装 使用教程详解!
1 Laravel Homestead 1 安装: 1 下载: http://www.vagrantup.com/downloads.html 1 配置: 1 1 测试: 1 1 ********** ...
- how to import a SQL file in MySQL command line
how to import a SQL file in MySQL command line execute .sql file, macOS $mysql> source \home\user ...