第一次的迷宫为队列版,这个为搜索版x(自己写的嘿嘿)

错误原因:第一次提交的时候把Yes跟No输错了都输为大写:……

代码来啦!

#include<cstdio>
#include<iostream>

using namespace std;

int m,n,tot;
int jz[2020][2020];
bool j[2020][2020];//初始为0

void ym(int x,int y) {
    j[x][y]=1;
    if(!j[x+1][y]&&jz[x+1][y]<=jz[x][y]&&x+1<=n) {
        ym(x+1,y);
        tot--;
    }
    if(!j[x][y+1]&&jz[x][y+1]<=jz[x][y]&&y+1<=m) {
        ym(x,y+1);
        tot--;
    }
    if(!j[x-1][y]&&jz[x-1][y]<=jz[x][y]&&x-1>0) {
        ym(x-1,y);
        tot--;
    }
    if(!j[x][y-1]&&jz[x][y-1]<=jz[x][y]&&y-1>0) {
        ym(x,y-1);
        tot--;
    }
}

void mm(int x1,int y1) {
    if(j[x1][y1]) printf("Yes\n");
    else printf("No\n");
}

int main() {

    scanf("%d%d",&n,&m);
    tot=n*m-1;
    for(int i=1; i<=n; ++i) {
        for(int j=1; j<=m; ++j) {
            scanf("%d",&jz[i][j]);
        }
    }
    int sx,sy;
    scanf("%d%d",&sx,&sy);
    j[sx][sy]=1;//进行标记,已经被淹没
    ym(sx,sy);
    printf("%d\n",tot);
    int q,xw,yw;
    scanf("%d",&q);
    for(int k=1; k<=q; ++k) {
        scanf("%d%d",&xw,&yw);
        mm(xw,yw);
    }

    return 0;
}
时间: 2024-10-06 05:21:54

第一次的迷宫为队列版,这个为搜索版x(自己写的嘿嘿)的相关文章

迷宫问题 - 队列与广度优先搜索

队列也是一组元素的集合,也提供两种基本操作:Enqueue(入队)将元素添加到队尾,Dequeue(出队)从队头取出元素并返回.就像排队买票一样,先来先服务,先入队的人也是先出队的,这种方式称为FIFO(First In First Out,先进先出),有时候队列本身也被称为FIFO. 下面我们用队列解决迷宫问题.程序如下:(参考<linux c 编程一站式学习>) C++ Code 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2

锤子T1(Smartisan T1 4G)版刷成3G版,即sm705运行sm701的CM11 Android 4.4.4ROM &#160; &#160; &#160;

对于喜欢折腾的人来说买锤子T系列真实不明智的选择,但是我是罗粉,对于锤子安卓内核版本的不升级政策很是不满,我承认Smartisan OS确实很好用,用了iOS后才知道锤子的系统真好,高效贴心真心替用户考虑.说了这么多我还是转战了iphone,早期的T1用户真心被伤透了心,锤子变成了备用机,刷机热一起来就像突破限制,但是4G版的真心支持的ROM不多,看图比较:(图片来自刷机精灵) 4G版的值支持Smsrtisan OS(经试验证明发现tencent os4G版刷机不支持,一直失败),死来想去决定试

单机版wiki:网页版记事本和网页版时间管理GTD软件

TiddlyWiki:可以用来做个人记事本,只需要下载一个empty.html便可以使用,搬家到不同电脑也很方便.如果能解决安全性问题,便可以搬到网络上在线使用.和Blog的差别在于这里是不想公开的只给自己看的记事本. 时间管理GTD: MonkeyGTD,也是只要下载一个mgsd.html文件即可使用.对工作事项有很多种分类方法,如场合/时间/处理途径/...,也可以添加自己需要的分类方法.每天进来更新一下每个事项的状态,就可以很有信心的做好自己时间管理,不用担心什么事情又忘记处理了. 这两个

windows10技术版、预览版、X86/X64简体中文下载地址

Windows 10 是微软公司新一代操作系统,即 Windows Technical,NT内核为6.4.该系统于2014年9月30日(美国东部时间, 北京时间2014年10月1日1:00)发布技术预览版.北京时间10月2日0:00开放下载技术预览版 Windows 10正式版将于2015年发布,将涵盖PC.平板电脑.手机.XBOX和服务器端,芯片类型将涵盖x86和ARM . 中文名 视窗 10 外文名 Windows 10 开发商 微软(Microsoft) 发行商 微软(Microsoft)

zw版_zw中文增强版Halcon官方Delphi例程

[<zw版·delphi与halcon系列原创教程>zw版_zw中文增强版Halcon官方Delphi例程 源码下载:http://files.cnblogs.com/files/ziwang/zw_match.zip 2016 zw中文增强版(delph2007,HALCON 11.01) 主要改动之处: :: 将位于窗口class的私有变量,改为全局变量,便于分析,修改 :: 增加大量中文注解 :: 将原版的批量自动测量,改为手动单幅测量,便于观测效果 :: 多处节点,增加图像文件输出,便

Win7家庭普通版、家庭高级版、专业版、旗舰版版本差别

刚才我们发了一个大图片:<Windows7.Vista.XP 三大系统功能差异比较一览图>,现在,再发一张对比图片,简要的看看Windows7家庭普通版.家庭高级版.专业版.旗舰版这四个版本的区别所在.对于购买品牌机的用户来说,主要接触的是家庭普通版和家庭高级版(Home Basic 和 Home Premium),对于破解激活的用户来说,基本的选择都是旗舰版. 避开这些不谈,看看这4个版本的区别吧,图片点击之后可以看大图片.

《构建高可用Linux服务器》第3版与第2版的区别

<构建高可用Linux服务器第3版>即将面市发行,有很多朋友在微博和QQ群上咨询与其第二版的区别,我这里也稍为说明下,<构建高可用Linux服务器>这次发行的是第3版,相对于第1版和第2版而言改动比较大,服务器系统主要以CentOS5.8 x86_64为主,删减了不少章节,部分有争议的内容也全部摈弃了.当然了,在写作过程中吸收了读者对上一版本的许多意见和建议,继续修正第2版的排版错误和人为错误及其它问题. 具体改动如下: 删除了原第二版第2章Linux服务器虚拟化章节,部分内容并进

相当精简的CentOS个人桌面版--从CentOS6.3 32b-mini版開始(mini版过程略)

利用网络实现相当精简的CentOS个人桌面版--从CentOS6.3 32位mini版開始(mini版过程略).升级后即是CENTOS6.5. 特别感谢163网易的镜像空间[http://mirrors.163.com].搜狐的镜像空间[http://mirrors.sohu.com]提供的CENTOS安装光盘镜像. 详细的32位MINI版安装过程因为不是太特别.网上也有不少安装步骤可看.这里就不写了,仅仅写安装好以后要做的,以下是步骤: yum install wget cd /etc/yum

bootstrap 2.3版与3.0版的使用区别

bootstrap 2.3版与3.0版的使用区别 bootstrap已经推出了3.0的新版,看起来2.3.x版本也不会再更新了.那么bootstrap 2.3版与3.0版的区别在哪里呢?下面我们就来介绍一下. Bootstrap 3.0增加了一些新的特性,对于一些类也进行了调整.不过两个版本在使用的方法上是没什么大的区别的. bootstrap 2.3版与3.0版重要类的改变对比: Bootstrap 2.x Bootstrap 3.0 .container-fluid .container .