#2375. 巡山
巡山
题目描述
唐僧师徒一路西行,快要到狮驼岭。狮驼岭的青狮、白象、大鹏三位大王听说唐僧快到非常开心,摩拳擦掌,准备捉了唐僧。
为了能够顺利捉到唐僧,大王们交代小旋风,附近的每座山的山顶都要安排小妖在山顶巡视,随时注意唐僧师徒的行踪。
小旋风立刻拿来了狮驼岭附近山丘的地图,这张地图是一个 N x M 的矩阵,矩阵第i行第j列用一个整数 A~ij~~ ~表示该位置的高度。
从某位置开始向其所有相邻的位置能延伸到的,所有不超过当前位置高度的位置构成一座山,一座山中高度的最大值是山顶。(相邻的定义是某位置周边8个点认和该点相邻)
如果某位置在地图的边界上,默认该点的高度一定是大于边界外的高度。
请你编程帮助小旋风计算出,小旋风需要派出多少小妖在山顶巡视。
请注意:同一座山如果有多个相邻位置都可以作为山顶,那么这座山只需要派出1个小妖在其中一个山顶巡视就可以了。
输入格式
第1行读入 N,M 表示地图的大小。
接下来 N 行,每行有 M 个空格隔开的整数,表示该位置的高度。
输出格式
输出一个整数,代表需要派出小妖的数量。
样例
8 7
4 4 2 2 1 0 1
3 4 3 2 1 0 1
2 2 2 2 1 0 1
2 1 1 1 1 0 0
1 1 0 0 0 1 0
0 0 0 1 1 1 0
0 1 2 2 1 1 0
0 1 1 1 2 1 0
3
解释#1
三座山的山顶,在下图中,通过红色加粗表示。
数据范围
- 对于 的测试数据满足:,。