题解 P1317 【低洼地】

这题只需要运用去重的方法就可以顺利解决问题。

因为一段连续的低洼地其实只算一个,所以只要把连续的低洼部分变成一个位置就可以了,即去重。

C++代码

#include <cstdio>
using namespace std;
const int N = 1e4 + 8;
int n, data[N], ans[N], cnt, sum;
int main() {
	scanf("%d", &n);
	for(int i=1; i<=n; i++) {
		scanf("%d", &data[i]);
		if(data[i] != data[i-1]) ans[++cnt] = data[i];//不相同加入数组,去重
	}
	for(int i=2; i<cnt; i++)
		if(ans[i-1] > ans[i] && ans[i] < ans[i+1]) sum ++;//低洼地特征就是一个位置比左右两边小,这里判断就行了
	printf("%d", sum);
	return 0;
}

附上图片:

posted @ 2020-03-15 17:54  lyclyc_NSP  阅读(207)  评论(0编辑  收藏  举报