-

迷 宫

(maze.cpp/c/pas)

Description

Karles 和朋友到迷宫玩耍,没想到遇上了 10000000 年一次的大洪水,好在 Karles 是一个喜

欢思考的人,他发现迷宫的地形和洪水有如下性质:

①迷宫可以被看做是一个 N*M 的矩形方阵,其中左上角坐标为(1,1),右下角坐标为(n,m),

每个格子(i,j)都有一个高度 h(i,j)。

②洪水从(sx,sy)开始,如果一个格子被洪水淹没,那这个格子四周比它低(或相同)的格子

也会被淹没。

现在 Karles 想请你帮忙算算,有多少个格子不会被淹没,以及 Karles 想问一下格子(x,y)是否

被淹没,如果被淹没的话就输出”Yes”,否则输出”No”。

Input

第一行包含两个整数 n,m。

以下 n 行,每行 m 个数,第 i 行第 j 个数表示格子高度 h(i,j)。

下面一行包含两个整数 sx,sy,表示最初被洪水淹没的格子。

下面一行包含一个整数 q,表示询问的数量。

最后 q 行每行包含两个整数 x,y,表示询问的格子。

Output

输出的第一行,为永远不会被淹没的格子的数量。

以下 q 行,为格子被淹没的情况,输出”Yes”或者”No”(不包含引号)

Example

maze.in maze.out

3 3

1 2 3

2 3 4

3 4 5

2 2

2

1 2

2 3

5

Yes

No

Hint

对于 10%的数据,(sx,sy)为迷宫内的最高点。

对于 30%的数据,1<=N,M<=5,q=1。

对于 60%的数据,1<=N,M<=100,q<=100。

对于 100%的数据,1<=N,M<=2000,q<=1000。

这个题,很水,但是,文件名多敲了一个空格所以0分;23333

  1. #include<iostream>
  2. #include<cstdio>
  3. #include<algorithm>
  4. #include<cstring>
  5. #include<string>
  6. using namespace std;
  7. int n,m;
  8. int hill[][];
  9. bool mdzz[][];
  10. int tot=;
  11.  
  12. void dfs(int x,int y)
  13. {
  14. tot++;
  15. mdzz[x][y]=;
  16. if(x+<=n&&hill[x+][y]<=hill[x][y]&&mdzz[x+][y]==)
  17. dfs(x+,y);
  18. if(x->=&&hill[x-][y]<=hill[x][y]&&mdzz[x-][y]==)
  19. dfs(x-,y);
  20. if(y+<=m&&hill[x][y+]<=hill[x][y]&&mdzz[x][y+]==)
  21. dfs(x,y+);
  22. if(y->=&&hill[x][y-]<=hill[x][y]&&mdzz[x][y-]==)
  23. dfs(x,y-);
  24. else return;
  25. }
  26.  
  27. int main()
  28. {
  29. freopen("maze.in","r",stdin);
  30. freopen("maze.out","w",stdout);
  31. int sx,sy;
  32. scanf("%d%d",&n,&m);
  33. for(int i=;i<=n;i++)
  34. for(int j=;j<=m;j++)
  35. {
  36. scanf("%d",&hill[i][j]);
  37. mdzz[i][j]=;
  38. }
  39. scanf("%d%d",&sx,&sy);
  40. dfs(sx,sy);
  41. printf("%d\n",m*n-tot);
  42. int saber;
  43. int qwq,qaq;
  44. scanf("%d",&saber);
  45. for(int i=;i<=saber;i++){
  46. scanf("%d%d",&qwq,&qaq);
  47. if(mdzz[qwq][qaq]==)printf("No\n");
  48. else printf("Yes\n");
  49. }
  50. fclose(stdin);
  51. fclose(stdout);
  52. return ;
  53. }

GRYZ 模 拟 赛 系 列 之 迷 宫(不就是个洪水)的更多相关文章

  1. GRYZ 模 拟 赛 系 列 Xxy 的车厢调度

    Xxy 的车厢调度(train.cpp/c/pas)Description有 一 个 火 车 站 , 铁 路 如 图 所 示 ,每辆火车从 A 驶入,再从 B 方向驶出,同时它的车厢可以重新组合.假设 ...

  2. Python小白的数学建模课-A3.12 个新冠疫情数模竞赛赛题与点评

    新冠疫情深刻和全面地影响着社会和生活,已经成为数学建模竞赛的背景帝. 本文收集了与新冠疫情相关的的数学建模竞赛赛题,供大家参考,欢迎收藏关注. 『Python小白的数学建模课 @ Youcans』带你 ...

  3. [GRYZ]寒假模拟赛

    写在前面 这是首次广饶一中的OIERS自编自导,自出自做(zuo)的模拟赛. 鉴于水平气压比较低,机(wei)智(suo)的WMY/XYD/HYXZC就上网FQ下海找了不少水(fei)题,经过他们优( ...

  4. 牛客 2018NOIP 模你赛2 T2 分糖果 解题报告

    分糖果 链接:https://www.nowcoder.com/acm/contest/173/B 来源:牛客网 题目描述 \(N\) 个小朋友围成一圈,你有无穷个糖果,想把其中一些分给他们. 从某个 ...

  5. LK的NOIP膜拟赛

    T1 Learn to 签到 [题目描述] 希希最喜欢二进制了.希希最喜欢的运算是\(\wedge\). 希希还喜欢很多\(01\)序列.这些序列一共有\(n\)个,每个的长度为\(m\). 希希有一 ...

  6. 数模美赛准备——我的第一个LaTex文档

    软件下载地址:清华大学镜像网站(点击下载) https://mirrors.tuna.tsinghua.edu.cn/ctex/legacy/2.9/ 上述网站页面 根据个人需求下载不同的版本安装完成 ...

  7. 【8.27-模拟赛】remove

    题解: 代码: #include<iostream> #include<algorithm> #include<cstdio> #include<cstrin ...

  8. 【2020.8.23NOIP模拟赛】失落

    [ 2020.8.23 N O I P 模 拟 赛 ] 失 落 [2020.8.23NOIP模拟赛]失落 [2020.8.23NOIP模拟赛]失落 题目描述 出题人心情很失落,于是他直接告诉你让你求出 ...

  9. 洛谷 P5594 【XR-4】模拟赛

    洛谷 P5594 [XR-4]模拟赛 洛谷传送门 题目描述 X 校正在进行 CSP 前的校内集训. 一共有 nn 名 OIer 参与这次集训,教练为他们精心准备了 mm 套模拟赛题. 然而,每名 OI ...

随机推荐

  1. T分布在医药领域应用-python建模

    sklearn实战-乳腺癌细胞数据挖掘 https://study.163.com/course/introduction.htm?courseId=1005269003&utm_campai ...

  2. Sparrow.Chart.Wpf控件的动态调用

    最近需要在Wpf程序中显示曲线,感觉Sparrow.Chart.Wpf控件不错(http://sparrowtoolkit.codeplex.com/),完全开源的一个控件支持,可以通过nuget下载 ...

  3. ZSTU OJ 3770: 黑帽子 归纳总结

    Description 一群非常聪明的人开舞会,每人头上都戴着一顶帽子.帽子只有黑白两种,黑的至少有一顶.每个人都能看到其它人帽子的颜色,却看不到自己的.主持人先让大家 看看别人头上戴的是什幺帽子,然 ...

  4. WebSockets Tutorial(教程一)WebSockets简介

    一.WebSockets简介 以字面意思来说,握手可以被定义为两个人抓住和握手右手,象征着问候,祝贺,同意或告别.在计算机科学中,握手是确保服务器与客户端同步的过程.握手是Web Socket协议的基 ...

  5. shift 用法

    shift  shift命令用于对参数的移动 (左移),通常用于在不知道传入参数个数的情况下依次遍历每个参数然后进行相应处理(常见于Linux中各种程序的启动脚本). 示例 1  示例 依次读取输入的 ...

  6. snmp 简单的网络管理协议

    snmp snmptranslate . # 查看映射关系 DISMAN-EVENT-MIB::sysUpTimeInstance snmpdf -v -c public localhost # SN ...

  7. 最小生成树问题------------Prim算法(TjuOj_1924_Jungle Roads)

    遇到一道题,简单说就是找一个图的最小生成树,大概有两种常用的算法:Prim算法和Kruskal算法.这里先介绍Prim.随后贴出1924的算法实现代码. Prim算法 1.概览 普里姆算法(Prim算 ...

  8. 原生JS获取元素的位置与尺寸

    1.内高度.内宽度: 内边距 + 内容框 element.clientWidth element.clientHeight 2.外高度,外宽度: 边框 + 内边距 + 内容框 element.offs ...

  9. 使用Cobbler批量部署Linux和Windows:CentOS/Ubuntu批量安装(二)

    通过前面服务端的部署,已经配置好了 Cobbler Server 端,接下来开始进行 CentOS/Ubuntu 的批量安装,在进行 CentOS/Ubuntu 批量安装时,也需要通过Cobbler来 ...

  10. c++ 函数指针简单实例

    一开始看函数指针的时候我是很懵的,因为不知道它有什么用,之后慢慢就发现了自己的愚昧无知. 假设我们想实现一个数据结构,比如二叉搜索树,堆.又或者是一个快排,归并排序. 我们一般是直接在两个数要比较的时 ...