高低不平
题目描述
有一个 \(n×n\) 的矩阵网格,矩阵上每个位置的数字表示这个格子的高度。每个格子和最多和周边 \(8\) 个格子相邻(也就是上下左右以及两个对角线位置的 \(8\) 个格子)。我们会发现,某些高度相同且连通的格子区域 \(S\) 比它周边的格子都要高或都要低,我们将之称为波峰或波谷。具体定义如下:
\(1.\) \(S\) 里的所有格子高度都相同。
\(2.\) \(S\) 里的所有格子都联通。
\(3.\) 对于任意一个属于区域 \(S\) 的格子 \(a\) 来说:
如果对于所有与 \(a\) 相邻的且不属于 \(S\) 的格子 \(b\),都有 \(a\) 的高度 \(>b\) 的高度,那么称 \(S\) 为波峰;
如果对于所有与 \(a\) 相邻的且不属于 \(S\) 的格子 \(b\),都有 \(a\) 的高度 \(<b\)的高度,那么称 \(S\) 为波谷;
那么请你计算矩阵中波峰和波谷的数量,如果所有格子都有相同的高度,那么这个矩阵既是波峰又是波谷。
格式
输入格式
输入第 \(1\) 行一个正整数 \(n\),表示矩阵的大小\((1<=n<=1000)\)。
接下来一个 \(n×n\) 的矩阵,表示矩阵上每个格子的高度。\((0<=\) 高度 \(<=1000000000)\)
输出格式
输出一行一个整数,表示开心指数。
输出一行 \(2\) 个整数,分别表示波峰和波谷的数量。
样例1
样例输入1
5
8 8 8 7 7
7 7 8 8 7
7 7 7 7 7
7 8 8 7 8
7 8 8 8 8
样例输出1
2 1
来源
地址:\(\text{Online~Judge}\)
作者:\(hoogy\)
模拟赛\(T4\)
相关
在下列训练计划中: