poj2612Mine Sweeper
很简单的模拟题目,但在队内赛的时候一直WA了10发。。。我ca
题目没看懂,也不算,就是我以为摸到地雷他会标星(*) ,但其实还是(x),T_T
#include <cstdio>
#include <iostream>
#include <cstring>
using namespace std; int n;
bool tag = false;
char graph1[][];
char graph2[][];
char graph3[][]; int mov[][] = {{-, -}, {-, }, {-, }, {, -}, {, }, {, -}, {, }, {, }}; bool check(int x, int y)
{
if(x >= && y >= && x < n && y < n)
return true;
return false;
} int handle(int i, int j)
{
int sum = ;
for(int k = ; k < ; ++k)
{
int x = mov[k][] + i;
int y = mov[k][] + j;
if(check(x, y) && graph1[x][y] == '*')
{
sum++;
}
}
return sum;
} int main()
{ int i, j;
while(scanf("%d%*c", &n) != EOF)
{
memset(graph1, , sizeof(graph1));
memset(graph2, , sizeof(graph2));
memset(graph3, , sizeof(graph3)); for(i = ; i < n; ++i)
{
gets(graph1[i]);
//puts(graph1[i]);
}
for(i = ; i < n; ++i)
{
gets(graph2[i]);
//puts(graph2[i]);
} for(i = ; i < n; ++i)
{
for(j = ; j < n; ++j)
{
if(graph2[i][j] == 'x' && graph1[i][j] == '*')
tag = true;
}
} if(tag == false)
{
for(i = ; i < n; ++i)
{
for(j = ; j < n; ++j)
{
if(graph2[i][j] == 'x')
{
graph3[i][j] = '' + handle(i, j);
}
else
{
graph3[i][j] = '.';
}
}
}
}
else
{
for(i = ; i < n; ++i)
{
for(j = ; j < n; ++j)
{
if(graph1[i][j] != '*' && graph2[i][j] == 'x')
{
graph3[i][j] = '' + handle(i, j);
}
else if(graph2[i][j] == '.' && graph1[i][j] == '*')
{
graph3[i][j] = '*';
}
else if(graph2[i][j] == 'x' && graph1[i][j] == '*')
{
graph3[i][j] = '*';
}
else
{
graph3[i][j] = '.';
}
}
}
} for(i = ; i < n; ++i)
{
puts(graph3[i]);
}
}
return ;
}
poj2612Mine Sweeper的更多相关文章
- poj 2612 Mine Sweeper
Mine Sweeper Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 6429 Accepted: 2500 Desc ...
- 2020杭电多校 10C / HDU 6879 - Mine Sweeper (构造)
HDU 6879 - Mine Sweeper 题意 定义<扫雷>游戏的地图中每个空白格子的值为其周围八个格子内地雷的数量(即游戏内临近地雷数量的提示) 则一张地图的值\(S\)为所有空白 ...
- 2020杭电多校 C / HDU 6879 - Mine Sweeper
题意: t组输入,每组输入一个s 你需要输出一个r行c列的阵列,这个阵列中'X'代表炸弹,'.'表示没有炸弹 对于'.'这些位置都会有一个数值,这个值取决于这个位置附近8个位置,这8个位置一共有几个炸 ...
- 多级弹出菜单jQuery插件ZoneMenu
ZoneMenu是一个菜单jQuery插件,只需占用页面上的一个小区域,却可以实现多级菜单. 在线体验:http://keleyi.com/jq/zonemenu/ 点击这里下载 完整HTML文件代码 ...
- golang内存分配
golang内存分配 new一个对象的时候,入口函数是malloc.go中的newobject函数 func newobject(typ *_type) unsafe.Pointer { flags ...
- Greenplum 集群部署
最近开始接触Greenplum,线上也在使用了,感觉还不错,本次介绍一下集群的部署方法.那么Greenplum的架构如下: (架构图来源网络) 简单来说GPDB是一个分布式数据库软件,其可以管理和处理 ...
- Greenplum 在Linux下的安装
1.实验环境 1.1.硬件环境 Oracle VM VirtualBox虚拟机软件:三台Linux虚拟机:Centos 6.5:数据库:greenplum-db-4.3.9.1-build-1-rhe ...
- Metasploit辅助模块
msf > show auxiliary Auxiliary ========= Name Di ...
- 全情投入是做好工作的基础——Leo鉴书39
很多人都有:“内向的人则不擅长社交,只能会活得很封闭”的思想,于是不少内向的朋友要么认为只有扭曲自己的性格变得外向才能在社会上吃得开,才能很爽的行走职场:要么就决定完全封闭自己活在孤独之中,其实以上两 ...
随机推荐
- 你知道吗?Web的26项基本概念和技术
这是我在网上看到一篇不错的文章,拿出来与大家分享一下:希望有所帮助 作者: 小鱼 来源: 前端里 发布时间: 2014-08-01 22:56 阅读: 10477 次 推荐: 51 原文链 ...
- 数据库TSQL语句
一.创建数据库create database test3;二.删除数据库drop database test3;三.如何创建表create(创建) table(表) test(表名)(此处写列 var ...
- android bitmap的放大缩小
private static Bitmap big(Bitmap bitmap) { Matrix matrix = new Matrix(); matrix.postScale(1.5f,1.5f) ...
- 《Linux私房菜》笔记和问题记录
鸟哥的Linux私房菜简体首页 对Linux的学习侧重于基本命令和运维相关的部分,最后章节的测试问题不错. 1.VIM程序编辑器 1.所有的Linux都会内建VI:很多软件的编辑接口都会主动呼叫VI: ...
- Delphi中线程类TThread实现多线程编程1---构造、析构……
参考:http://www.cnblogs.com/rogee/archive/2010/09/20/1832053.html Delphi中有一个线程类TThread是用来实现多线程编程的,这个绝大 ...
- JavaScript中判断对象类型方法大全1
我们知道,JavaScript中检测对象类型的运算符有:typeof.instanceof,还有对象的constructor属性: 1) typeof 运算符 typeof 是一元运算符,返回结果是一 ...
- 1-03 Sql Sever 的身份验证模式
身份验证分为: 1:Windows身份验证. 1:Sql Sever身分验证. 每种验证的具体方式: 1Windows的验证方式 点击下拉框,有这两种验证方式,Windows验证只需要启动服务即可. ...
- phpcms_v9 多图字段 内容页,首页,分页自定义字段调用
phpcms_v9 多图字段 内容页,首页,分页自定义字段调用 说明:自定义多图字段名 shigongtu 1 内容页调用 {loop $shigongtu $r} <img src= ...
- android studio常见错误
1.Failed to import new Gradle project: Could not install Gradle distribution from'http://services.gr ...
- 第十一篇:SOUI系统资源管理
SOUI资源管理模块 从前篇已经讲到在SOUI中所有资源文件通过一个uires.idx文件进行索引. 这里将介绍在程序中如何引用这些资源文件. 在SOUI系统中,资源文件通过一个统一的接口对象读取: ...