码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-04-07 21:53:21      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:span   队列   pac   main   include   迷宫   错误   ios   搜索   

错误原因:第一次提交的时候把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;
}

 

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

标签:span   队列   pac   main   include   迷宫   错误   ios   搜索   

原文地址:http://www.cnblogs.com/zxqxwnngztxx/p/6679840.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!