[洛谷P1317]低洼地

题目大意:一组数,分别表示地平线的高度变化。高度值为整数,相邻高度用直线连接。找出并统计有多少个可能积水的低洼地?(首尾都为0)

题解:求出其中都多少个不严格下降子段和不严格上升子段所夹的位置,即为答案

 

C++ Code:

#include<cstdio>
using namespace std;
int n,s[10100],ans,i;
int main(){
	scanf("%d",&n);
	for (i=1;i<=n;i++)scanf("%d",&s[i]);
	i=0;
	while (i<n){
		while (i<n&&s[i]>=s[i+1])i++;
		while (i<n&&s[i]<=s[i+1])i++;
		ans++;
	}
	printf("%d\n",ans-2);
	return 0;
}

  

posted @ 2018-03-20 18:12  Memory_of_winter  阅读(430)  评论(0编辑  收藏  举报