#4873. 山峰和山谷
山峰和山谷
山峰和山谷
题目描述
给定一个 n×n 的网格状地图,每个方格 (i,j) 有一个高度 。如果两个方格有公共顶点,则它们是相邻的。
定义山峰和山谷如下:
- 均由地图上的一个连通块组成(连通块:一个区域内方格高度相同且8个方向连通)。
- 连通块相邻的格子高度均大于此连通块,此连通块为山谷。
- 连通块相邻的格子高度均小于此连通块,此连通块为山峰。
- 连通块相邻的格子里既有大于当前连通块高度的格子也有小于当前连通块高度的格子,此连通块既不是山峰也不是山谷。
求地图内山峰和山谷的数量。特别地,如果整个地图方格的高度均相同,则整个地图既是一个山谷,也是一个山峰。
输入格式
第一行一个整数 n(),表示地图的大小。
接下来 n 行每行 n 个整数表示地图。第 i 行有 n 个整数 (),表示地图第 i 行格子的高度。
输出格式
输出一行两个整数,分别表示山峰和山谷的数量。
样例输入 #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
数据范围
,。
知识点与难度
本题涉及的知识点从属于 GESP六级(搜索基础、BFS),难度等级:⭐⭐⭐⭐。
测试点分布
| Subtask | 分值 | 测试点编号 | 说明 |
|---|---|---|---|
| 0 | 10 | 1~2 | 样例 |
| 1 | 20 | 3~8 | 小规模 / 特殊性质 |
| 2 | 15 | 9~11 | Hack |
| 3 | 30 | 12~20 | 中大规模 |
| 4 | 25 | 21~25 | 随机回归 |