把每个位置看成一个高度为h[i][j]的格子。
一个位置如果想把水排到边界,一定存在一条从它走到边界的路径,并且沿途高度不能升高。因为水只会从高处流向低处或者同高度的位置。 所以我们可以反过来想:
从边界开始做一次搜索,如果当前在位置(x,y),那么可以走到相邻位置(nx,ny)当且仅当
某个建筑工地上堆放着很多防水建材,它们每一块的规格都一模一样,但是每一叠都高矮不一,这些建材堆放得非常整齐而且非常紧凑,紧凑到 “滴水不漏”。建材一共有 n 行,m 列。
现在给你一个n×m 的矩阵,第n行第m列上的数字表示对应位置建材的数量。例如下面的矩阵所示:
第 1行第1 列的 “2” 表示这个位置对应的那一叠建材的数量为2 块。特别地,最旁边的建材是没有办法形成水坑的。

某天突然天降暴雨,暴雨过后,在建材区形成了很多个小水坑。如果某一叠建材的数量比它周围上、下、左、右的建材数量少,将形成一个小水坑。相邻的两叠或者多叠建材可能会构成一个大一点的水坑。
例如在上面的图中,两叠红色的建材将构成一个水坑,因为它们周围上、下、左、右的建材(蓝色建材)的数量比它们要多。假如这场雨下得足够大,足以让每一个水坑都装满水。现在请问,暴雨过后在建材区一共留下了多少个水坑?
第 1 行输入两个正整数,分别表示n 和 m,n 和m 均不超过 100,两个数字之间用空格隔开。
接下来n 行,每行一个m 的矩阵,每一行m个正整数,表示某一叠建材的数量,两个正整数之间用空格隔开。
输出一个整数,即留下的水坑数量(存在一个水坑也没有的情况)
输入
4 4
2 3 5 1
4 1 2 3
1 5 4 2
1 2 2 2
输出
1