华师一附中OI组

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1238|回复: 3
打印 上一主题 下一主题

P1317 低洼地

[复制链接]

738

主题

1485

帖子

5420

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5420
跳转到指定楼层
楼主
发表于 2018-7-3 16:41:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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
回复

使用道具 举报

13

主题

41

帖子

211

积分

中级会员

Rank: 3Rank: 3

积分
211
沙发
发表于 2018-7-3 17:56:38 | 只看该作者
  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. }
复制代码
回复 支持 反对

使用道具 举报

50

主题

215

帖子

619

积分

高级会员

Rank: 4

积分
619
板凳
发表于 2018-7-3 21:56:25 | 只看该作者
  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. }
复制代码
回复 支持 反对

使用道具 举报

9

主题

158

帖子

470

积分

华一学生

积分
470
QQ
地板
发表于 2018-8-26 18:59:47 | 只看该作者
求折点数
  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. }
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|服务支持:DZ动力|华师一附中OI组  

GMT+8, 2024-11-2 00:28 , Processed in 0.105897 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表