Type: Default 1000ms 256MiB

土之力

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

峰峦如聚,重峦叠嶂

题目描述

相信大家都喜欢爬山。 为了能够对行程有一个安排,我们想知道山峰和山谷的数量。

给定一个地图,本次旅行的区域,地图被分为 n×nn \times n 的网格,每个格子 (i,j)(i, j) 的高度 w(i,j)w(i,j) 是给定的。

若两个格子有公共顶点,那它们就是相邻的格子。即相邻是8向相邻。

  1. SS 的所有格子都有相同的高度
  2. SS 的所有格子都连通。
  3. 对于 sSs \in S,与 ss 相邻的 sSs' \notin S,都有 ws>wsw_s > w_{s'}(山峰),或者 ws<wsw_s < w_{s'}(山谷)。
  4. 如果周围不存在相邻区域,则同时将其视为山峰和山谷。

你的任务是,对于给定的地图,求出山峰和山谷的数量,如果所有格子都有相同的高度,那么整个地图即是山峰,又是山谷。

题目格式

输入格式

第一行包含一个正整数 nn,表示地图的大小。1n10001 \leq n \leq 1000

接下来一个 n×nn \times n 的矩阵,表示地图上每个格子的高度 ww0w1090 \leq w \leq 10^9

输出格式

共一行,包含两个整数,表示山峰和山谷的数量。

题目样例

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
2 1
5
5 7 8 3 1
5 5 7 6 6
6 6 6 2 8
5 7 2 5 8
7 1 0 1 7
3 3

样例解释

样例1

样例2

2025寒假一期结训赛(大一)

Not Attended
Status
Done
Rule
ACM/ICPC
Problem
14
Start at
2025-1-14 9:00
End at
2025-1-14 14:00
Duration
5 hour(s)
Host
Partic.
23