编程题
### 问题描述 小齐喜欢观光,今天她正在寻找风景优美的山谷。 有一个 $N \times N$ 的单元格网格,其中每个单元格都有一个高度。方格网格之外的每个单元格都可以视为具有无限高度。 一个山谷是网格的一个区域,它是连续的,没有洞,且满足该区域中的每个单元格都比该区域的边界上的所有单元格都要低。更正式地: 一个单元格集被称为“在边缘上连续”,如果我们可以通过上下左右的移动从集合中的任何单元格到达其他任何单元格。 一个单元格集被称为“在点上连续”,如果我们可以通过上下左右对角线的移动从集合中的任何单元格到达其他任何单元格。 一个“区域”是一个非空的在边缘上连续的单元格集。 一个区域被称为“有洞”,如果该区域的补集(包括 $N \times N$ 网格之外的无限单元格)不是在点上连续的。 一个“边界”是与该区域中的某个单元格正交相邻(上、下、左或右),但不在该区域本身的单元格集。 一个“山谷”是任何非有洞区域,使得该区域中的每个单元格的高度都低于该区域边界上的每个单元格的高度。 小齐的目标是确定所有山谷的大小之和。 ### 输入格式 第一行包含整数 $N$。 接下来的 $N$ 行,每行包含 $N$ 个整数,表示网格单元格的高度。每个高度 $h$ 满足 $1 \leq h \leq 10^6$,并且每个高度都是唯一的。 ### 输出格式 输出一个整数,表示所有山谷的大小之和。 ### 样例输入 ``` 3 1 10 2 20 100 30 3 11 50 ``` ### 样例输出 ``` 30 ``` ### 评测数据规模 $1 \leq N \leq 750$,$1 \leq h \leq 10^6$。
查看答案
赣ICP备20007335号-2