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
很多人都有:“内向的人则不擅长社交,只能会活得很封闭”的思想,于是不少内向的朋友要么认为只有扭曲自己的性格变得外向才能在社会上吃得开,才能很爽的行走职场:要么就决定完全封闭自己活在孤独之中,其实以上两 ...
随机推荐
- Android ArrayAdapter使用
1. 可以直接使用getContext()获取Context对象 2. 可以在构造方法中传入context, 数据对象的列表, super(context, 0, object);完成Adapter的 ...
- Loadrunner连接Mysql数据库
1.库文件下载地址:http://files.cnblogs.com/files/xiaoxitest/MySQL_LoadRunner_libraries.zip 分别添加到Loadrunner b ...
- rpm -qc 来查找安装包的配置文件
rpm -qc elasticsearch /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/jvm.options /etc/elast ...
- Python win32api提取exe图标icon
转载地址: http://blog.csdn.net/gumanren/article/details/6129416 代码如下: # -*- coding: utf-8 -*- import sys ...
- attributeError:'module' object has no attribute ** 解决办法
写了一个小脚本,执行的时候报错: Traceback (most recent call last): File "F:/test/qrcode.py", line 109, in ...
- python中多线程与非线程的执行性能对比
此对比说明了一件事: 如果是IO型应用,多线程有优势, 如果是CPU计算型应用,多线程没必要,还有实现锁呢. #!/usr/bin/env python # -*- coding: utf-8 -*- ...
- 在Entity Framework 7中进行数据迁移
(此文章同时发表在本人微信公众号“dotNET每日精华文章”,欢迎右边二维码来关注.) 题记:虽然EF7重新设计了Entity Framework,不过也还是能够支持数据迁移的. Entity Fra ...
- 几个国内速度最快的centos yum(更新源)
转自:http://blog.itpub.net/15711267/viewspace-1068862/ 中国科技大学源 cd /etc/yum.repos.d mv CentOS-Base.repo ...
- Error:“应用程序无法正常启动(0xc000007b)。请单击“确定”关闭应用程序。”
我的电脑是 win7 64bit,用 VS2012 跑网上下载的程序,Realease | x64 模式下出现该错误. 问题出在 freeglut.dll 是 32bit 下的 dll,需要换成 64 ...
- C语言中如何将二维数组作为函数的参数传递
今天写程序的时候要用到二维数组作参数传给一个函数,我发现将二维数组作参数进行传递还不是想象得那么简单里,但是最后我也解决了遇到的问题,所以这篇文章主要介绍如何处理二维数组当作参数传递的情况,希望大家不 ...