P2670 【扫雷游戏】
2024-08-30 04:47:28
lalala~~~
这题数据并不大,最大不过100*100,所以果断穷举
其实本来我是想边读边做的,但读入是个问题。
主要思路呢,就是读完之后穷举一边,只要是炸弹,就把周围一圈8个加一遍
AC代码:
#include<set>
#include<map>
#include<list>
#include<queue>
#include<stack>
#include<string>
#include<cmath>
#include<ctime>
#include<vector>
#include<bitset>
#include<memory>
#include<utility>
#include<cstdio>
#include<sstream>
#include<iostream>
#include<cstdlib>
#include<cstring>
#include<algorithm>//忒多的头文件
using namespace std;
int n,m;
int mm[][];
char a[][];
int main(){
cin>>n>>m;
for(int i=;i<=n;i++){
scanf("%s",&a[i]);//我之前想的读入好复杂,,结果。。。
}
for(int i=;i<=n;i++){//穷举
for(int j=;j<m;j++){
if(a[i][j]=='*'){//是炸弹的情况
mm[i][j]=-;//其实一个点最多就加8下
mm[i-][j-]++;//不停加,8个
mm[i-][j]++;
mm[i-][j+]++;
mm[i][j-]++;
mm[i][j+]++;
mm[i+][j-]++;
mm[i+][j]++;
mm[i+][j+]++;
}
}
}
for(int i=;i<=n;i++){
for(int j=;j<m;j++){
if(mm[i][j]<){//是地雷就输出*
cout<<"*";
}
else{
cout<<mm[i][j];//不是就输出周围个数
}
}
cout<<endl;
}
return ;
}
其实最后输出的时候可以用一句概括为一个三目表达式:cout<<(mm[i][j]<0?'*':m[i][j]),理解起来应该不困难
最后,祝大家AV!!!AK!!!
最新文章
- windows7下php5.4成功安装imageMagick,及解决php imagick常见错误问题。(phpinfo中显示不出来是因为:1.imagick软件本身、php本身、php扩展三方版本要一致,2.需要把CORE_RL_*.dll多个文件放到/php/目录下面)
- msyql 数据库恢复相关
- jdbc基础 (三) 大文本、二进制数据处理
- 第12章 使用Samba或NFS实现文件共享
- 自定义实现简单的Android颜色选择器(附带源码)
- [ Web Service ] [ SOAP ] [ JSON ] [ XML ] 格式轉換
- 【SGU 390】Tickets (数位DP)
- How to deploy openbr on linux server very shorly---- linuxmint13/ubuntu12.04 AMD64/debian7
- 【转】python3 urllib.request 网络请求操作
- 结队第一次 plus
- [LeetCode] Flatten a Multilevel Doubly Linked List 压平一个多层的双向链表
- Netty 服务端:新连接接入
- Hbase记录-Hbase调优参数
- warning: LF will be replaced by CRLF in 解决办法
- 增删改查列表angular.js页面实现
- 转:WCAT 压力工具介绍
- x86函数调用约定
- docker启动时报错
- 小程序异步处理demo计时器setInterval()
- pl/sql 实例解析 01