nyoj 755 山谷 【水题】
2015-08-30 20:58
375 查看
山谷
时间限制:1000 ms | 内存限制:65535 KB难度:2
描述
八百里伏牛山连绵不断,高低起伏。
家住山脚下的小明开始学习识数了,面朝群山,他想数一下对面有多少山谷,请你写个程序帮他检验一下他数的结果是否正确。
输入有多组测试数据。
对于每组数据:
第一行: N(2<N<10000)
第二行有N个正整数,分别代表山脉从左到右的高度Hi(0<Hi<1000)。输出输出每组数据中山谷的个数.样例输入
3 2 1 2 5 2 1 1 1 2
样例输出
1 1
上传者ACM_李如兵
思路:
这道题首先要理解山谷是什么?山谷就是左高右高中间是个坑就代表一个山谷,所以我们要找到具有这个特点的高度值,我们可以遍历所有的值,看看有没有一个数的右面的数小于这个数,右边的数的再右边的数小于等于右边的数,继续往后面找直到找到一个数大于它左边的数为止,为一个山谷,遍历所有的值,看看有多少个具有这个特点的一组数,
具体看代码:
代码:
#include <stdio.h> #include <string.h> int a[10005]; int main() { int n; while(scanf("%d",&n)!=EOF) { for(int i=1;i<=n;i++) { scanf("%d",&a[i]); } int cnt=0,flag=0; for(int i=1;i<n;i++)//遍历所有的高度,来找能构成山谷的一组数 { if(a[i]>a[i+1]) { for(int k=i+2;k<=n;k++) { if(a[k-1]>=a[k]) { continue; } else { i=k-1; cnt++; break; } } } } printf("%d\n",cnt); } return 0; }
相关文章推荐
- 排序算法小结-归并、基数排序
- 使用为知笔记客户端发布博客到【博客园】
- 复习“JDK+JVM”的知识点
- HDU 1716 DFS
- HDU1533Going Home(KM匹配之最小值匹配)
- 国泰实习小结
- 人造标准光源分类说明
- Linux系统管理-(5)-LVM
- 8月30日--全天课程--马哥培训
- SpingMVC 修改配置路径
- 家庭困难
- Linux DNS搭建
- Android Studio App LinearLayout多层布局嵌套
- Block
- Programming STM32-Discovery using GNU tools. Linker script
- 程序包管理
- CSS3媒体查询 Media Queries 简介
- 学习日志---python(模块以及常用模块)
- poj 1274 The Perfect Stall(二分图匹配)
- golang生成目录嵌套json使用jstree显示