华师一附中OI组

标题: P1317 低洼地 [打印本页]

作者: admin    时间: 2018-7-3 16:41
标题: P1317 低洼地
https://www.luogu.org/problemnew/show/P1317
题目描述
一组数,分别表示地平线的高度变化。高度值为整数,相邻高度用直线连接。找出并统计有多少个可能积水的低洼地?

如图:地高变化为 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

作者: YTC    时间: 2018-7-3 17:56
  1. #include<iostream>
  2. using namespace std;
  3. int n,ans;
  4. int last=-0x7fffffff,h;
  5. bool p=0;
  6. int main()
  7. {
  8.     cin>>n;
  9.     for(int i=1;i<=n;i++)
  10.     {
  11.         cin>>h;
  12.         if(p)
  13.         {
  14.             if(last<h)
  15.             {
  16.                 ans++;
  17.                 p=0;
  18.             }
  19.         }
  20.         if(!p)
  21.         {
  22.             if(last>h) p=1;
  23.         }
  24.         last=h;
  25.     }
  26.     cout<<ans;
  27.     return 0;
  28. }
复制代码

作者: 倚窗倾听风吹雨    时间: 2018-7-3 21:56
  1. #include<iostream>
  2. using namespace std;
  3. int n,a[10002],i,j=1,s=0;
  4. int main()
  5. {
  6.     cin>>n;
  7.     for(i=1;j<=n;i++)
  8.     {
  9.         j++;
  10.         cin>>a[i];
  11.         if(a[i]==a[i-1])i--;
  12.     }
  13.     for(i=1;i<=n;i++)
  14.         if(a[i-1]>a[i] && a[i+1]>a[i])s++;
  15.     cout<<s;
  16.     return 0;
  17. }
复制代码

作者: 黄煦喆    时间: 2018-8-26 18:59
求折点数
  1. #include<iostream>
  2. using namespace std;
  3. int n,h,now,ans,b=1;
  4. int main()
  5. {
  6.     cin>>n;
  7.     for(int i=1;i<=n;i++)
  8.     {
  9.         cin>>h;
  10.         if((h>now&&!b)||(h<now&&b))
  11.         {
  12.             b=1-b;
  13.             ans++;
  14.         }
  15.         now=h;
  16.     }
  17.     cout<<ans/2;
  18.     return 0;
  19. }
复制代码





欢迎光临 华师一附中OI组 (http://hsyit.cn/) Powered by Discuz! X3.2