1631低洼地

描述

一组数,分别表示地平线的高度变化。高度值为整数,相邻高度用直线连接。找出并统计有多少个可能积水的低洼地?

如图:地高变化为0 1 0 2 1 2 0 0 2 0

1631低洼地

 

输入

两行,第一行n,表示有n个数。第2行连续n个数表示地平线高度变化的数据,保证首尾为0。(3<=n<=10000,0<=高度<=1000)

 

输出

一个数,可能积水低洼地的数目。

 

输入样例 1 

10
0 1 0 2 1 2 0 0 2 0

输出样例 1

3

代码:
 1 #include<iostream>
 2 #include<string>
 3 using namespace std;
 4 int nu[10001];
 5 int main()
 6 {
 7     int n,i,p,ans=-1;
 8     cin>>n;
 9     for(i=0;i<n;i++)
10     {
11         cin>>p;
12         if(i&&p==nu[i-1])
13         {
14             i--;
15             n--;
16             continue;
17         }
18         nu[i]=p;
19     }
20     for(i=1;i<n-1;i++)
21         if(nu[i-1]<nu[i]&&nu[i]>nu[i+1]) ans++;
22     cout<<ans;
23     return 0;
24 }

 

 

 

PS:今天晚上我这个学生党终于有一点时间了,于是就一口气写了两篇,把自己最近做过的奥赛题分享一下。虽然说我一个小博主也没什么人看,但多写一些当复习也不错嘛。本人小学生,懂得东西也不多,就尽自己所能多写一些有意义的东西吧。^_^

上一篇:机器学习基础:特征分解,奇异值分解


下一篇:电化学复习