G426031. [GESP202603 四级 C++] 26. 山之谷

提交4 通过3
通过率75%
时间限制1000ms
内存限制512MiB

题目描述

题目描述

现有一片山地,可以视为一个 NN 行 MM 列的网格图,第 ii 行 jj 列的海拔为 hi,jh_{i,j}。

如果一个单元格的海拔不高于其所有相邻单元格(相邻包括上、下、左、右、左上、右上、左下、右下,最多 88 个方向)的海拔,则称该单元格为山谷。

请你数一数该片山地中有多少山谷。

输入格式

第一行包含 22 个整数 N,MN, M,表示山地的大小。

之后 NN 行,每行包含 MM 个整数 hi,1,hi,2,⋯ ,hi,Mh_{i,1}, h_{i,2}, \cdots, h_{i,M},表示海拔。

输出格式

输出 11 行,包含 11 个整数 CC,表示山谷的数量。

输入样例 #1

3 5
7 6 6 7 9
6 5 6 7 6
6 5 7 8 9

输出样例 #1

3

样例 1 如图所示,绿色单元格代表山谷:

image

输入样例 #2

1 1
5

输出样例 #2

1

输入样例 #3

1 5
1 2 3 4 5

输出样例 #3

1

数据范围

保证 1≤N,M≤1001 \leq N, M \leq 100,1≤hi,j≤1051 \leq h_{i,j} \leq 10^5。