描述
一组数,分别表示地平线的高度变化。高度值为整数,相邻高度用直线连接。找出并统计有多少个可能积水的低洼地?
如图:地高变化为0 1 0 2 1 2 0 0 2 0
输入
两行,第一行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:今天晚上我这个学生党终于有一点时间了,于是就一口气写了两篇,把自己最近做过的奥赛题分享一下。虽然说我一个小博主也没什么人看,但多写一些当复习也不错嘛。本人小学生,懂得东西也不多,就尽自己所能多写一些有意义的东西吧。^_^