[洛谷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; }