10520: 「POI2007」山峰和山谷 Ridges and Valleys

内存限制:32 MB 时间限制:1.000 S 提交:0 解决:0
评测方式:文本比较 命题人:

题目描述

  • 给定一个 n * n 的网格状地图,每个方格 (i,j) 有一个高度 w[i][j]。如果两个方格有公共顶点,则它们是相邻的。

    定义山峰和山谷如下:

    • 均由地图上的一个连通块组成;
    • 所有方格高度都相同;
    • 周围的方格(即不属于山峰或山谷但与山峰或山谷相邻的格子)高度均大于山谷的高度,或小于山峰的高度。

    求地图内山峰和山谷的数量。特别地,如果整个地图方格的高度均相同,则整个地图既是一个山谷,也是一个山峰。



  • 输入

    第一行一个整数 $n$ ($2 \le n \le 1000$),表示地图的大小。 接下来 $n$ 行每行 $n$ 个整数表示地图。第 $i$ 行有 $n$ 个整数 $w_{i1}, w_{i2}, \ldots, w_{in} (0 \le w_{ij} \le 1\ 000\ 000\ 000)$,表示地图第 $i$ 行格子的高度。

    输出

    输出一行两个整数,分别表示山峰和山谷的数量。

    样例输入 复制

    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

    提示

    输入样例2


    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

    输出样例2


    3 3