Description
有这样一块土地,它可以被划分成N×M个正方形小块,每块面积是一平方英寸,第i行第j列的小块可以表示成P(i,j)。这块土地高低不平,每一小块地P(i,j)都有自己的高度H(i,j)(单位是英寸)。
一场倾盆大雨后,这块地由于地势高低不同,许多低洼地方都积存了不少降水。假如你已经知道这块土地的详细信息,你能求出它最多能积存多少立方英寸的降水么?

Input
输入文件第一行有两个数,N,M(1<=N, M <=100),表示土地的规模是N×M平方英寸。
以下有N行,每行有M个整数,表示每块地的高低(每个整数在[1,10000]内,以英寸为单位)。

Output
输出文件只有一行,一个数,表示土地中最多能积存多少立方英寸的水。

Sample Input
3 6
3 3 4 4 4 2
3 1 3 2 1 4
7 3 1 6 4 1

Sample Output
5
HINT

Source

把边界上的点插入一个以高度为关键字的大根堆然后扩展
Codevs上被卡内存了T_T

#include<iostream>
#include<cstdio>
#include<queue>
#define MAXN 102
#define GET (ch>='0'&&ch<='9')
using namespace std;
short n,m;
int ans;
short a[MAXN][MAXN],dx[5]={0,-1,0,1,0},dy[5]={0,0,1,0,-1};
bool vis[MAXN][MAXN],Vis[MAXN][MAXN];
struct node
{short x,y,h;bool operator <(const node& a)const{return h>a.h;}
};
priority_queue<node>    heap;
void in(short &x)
{char ch=getchar();x=0;while (!GET)    ch=getchar();while (GET) x=x*10+ch-'0',ch=getchar();
}
void dfs(short x,short y,short h)
{for (short i=1;i<=4;i++){short X=x+dx[i],Y=y+dy[i];if (vis[X][Y])  continue;if (a[X][Y]<=h) ans+=h-a[X][Y],vis[X][Y]=1,dfs(X,Y,h);elseif (!Vis[X][Y]) Vis[X][Y]=1,heap.push((node){X,Y,a[X][Y]});}
}
int main()
{in(n);in(m);for (short i=0;i<=n+1;i++)for (short j=0;j<=m+1;j++)  vis[i][j]=Vis[i][j]=1;for (short i=1;i<=n;i++)for (short j=1;j<=m;j++){in(a[i][j]);vis[i][j]=0;Vis[i][j]=0;if (i==1||i==n||j==1||j==m) Vis[i][j]=1,heap.push((node){i,j,a[i][j]});}while (!heap.empty()){node t=heap.top();heap.pop();if (!vis[t.x][t.y]) vis[t.x][t.y]=1,dfs(t.x,t.y,t.h);}cout<<ans<<endl;
}

【POI1999】【BZOJ2936】降 水相关推荐

  1. 快速飞入城市空中交通的未来-权威公司发布参考

    1 介绍 想象一下,开车从旧金山海港区到圣何塞市中心上班,通常需要花费将近两个小时,如果只需 15 分钟, 会怎么样?如果从圣保罗市中心到坎皮纳斯郊区之间的往返路程可以节省近四个小时的时间,会怎么样? ...

  2. Noesis:一款基于本体的大气科学语义搜索工具

    2007年10月23日 星期二 10:56 Ontology-Based Semantic Search Tool For Atmospheric Science 基于本体的大气科学语义搜索工具 (R ...

  3. settimeout需要清除吗_【期刊导读】新证据:HBsAg水平极低的非活动性HBsAg携带者经聚乙二醇干扰素治疗24周, HBsAg清除率高达83.3%...

    编者按:目前指南并没有推荐非活动性HBsAg携带者(IHC)进行抗病毒治疗,但在长期随访中发现有IHC仍存在一定的复发和肝癌风险,而获得HBsAg清除会将慢乙肝患者肝癌风险降至最低.因此许多IHC会有 ...

  4. 滤波、漫水填充、图像金字塔、图像缩放、阈值化

      imgpro 组件是 Image 和 Process 这两个单词的缩写组合,即图像处理模块,这个模块包含了如下内容: 文章目录 1.线性滤波:方框滤波.均值滤波.高斯滤波 1.1 平滑处理 1.2 ...

  5. 基于Springboot实现送水公司信息管理

    作者主页:编程指南针 简介:Java领域优质创作者.CSDN博客专家  Java项目.简历模板.学习资料.面试题库.技术互助 文末获取源码 项目编号:BS-XX-014 项目描述 springboot ...

  6. “假一赔十”的4k 120Hz电视能买吗?研究完我服了,水是真的深

    萧箫 发自 凹非寺 量子位 | 公众号 QbitAI 朋友,你是否也和我一样,为了<Apex英雄>上线PS5已苦等一年半? 那是否也和我一样,在年初听到<Apex英雄>PS5版 ...

  7. 高压细水雾灭火技术在数据中心机房中的消防应用

    摘要:介绍了高压细水雾的工作原理及特点,针对机房火灾的特点并与传统机房灭火技术进行对比,从安全性.有效性.经济性上分析了高压细水雾适用于通信机房的可行性,最后简单阐述了高压细水雾在设计中需要注意的一些 ...

  8. 中央空调水系统与制冷系统运行参数

    一.机组工作电源 机组工作电源一般要求是 380V/50Hz/3N,其波动范围在 360V-420V 之间.但是机组运行对电源有严格要求:电源三相电压不平衡应不大于 2﹪:电源三相电流不平衡应不大于 ...

  9. 三伏天到了,记得为数据中心降降温

    2018年长达40天的"三伏"天气,让炎热的夏季变得异常漫长,说到"三伏"天中,哪一伏最热,民间有句俗话:"冷在三九,热在中伏",意思是一年 ...

最新文章

  1. SAP QM初阶之启用了Multiple Specification功能后检验批的不同之处?
  2. iOS面试题总结 二
  3. LeetCode:104_Maximum Depth of Binary Tree | 二叉树的最大深度 | Easy
  4. [HttpPost]和[AcceptVerbs(HttpVerbs.Post)]区别
  5. ReactiveLodeBalancerClientFilter响应式负载均衡代理
  6. python 二——函数、装饰器、生成器、面向对象编程(初级)
  7. python爬虫语言都能干什么_python除了爬虫还可以做什么
  8. php7 编译安装,添加扩展 pdo /usr/local/php/bin/phpize 发现没有 configure
  9. vissim免修改时间工具_视频剪辑工具premiere最基础使用教程
  10. 计算机软件著作权的软件全称,软件著作权名称要求是什么
  11. C/C++百题打卡[5/100]——合唱队形
  12. 怎么关闭windows中不在控制面板上的smartscreen筛选器
  13. centos8上实现私有CA和证书申请颁发
  14. statis关键字的使用
  15. 【小麦苗课堂】高可用培训(RAC+DG+OGG)--包括11g、12c、18c、19c等版本
  16. html避免多次点击选中页面文字或者内容时出现蓝色背景
  17. MAMP Pro 6 mac强大的本地服务器环境软件套装
  18. CSS3选择器-属性选择器
  19. 【DBC专题】-5-DBC文件格式解析
  20. 海康硬盘录像机接入RTSP/onvif协议安防视频平台EasyNVR的注意事项

热门文章

  1. python列表(list)的遍历
  2. 有趣的python小程序(附效果和程序)
  3. jpg转换为word可编辑的怎么转换呢
  4. Manjaro 安装MySQL
  5. Android 在分享列表添加自己的应用
  6. matplotlib绘制两个图形及网格、透明度、图例、颜色等
  7. spreadtrum展信平台加密Secure boot流程
  8. Seq2seq - End2end
  9. Excel数据透视和Python数据透视
  10. 图形数据库neo4j视频教程