Mountaintop(山峰)
山峰
Problem Description
(比如说小木示 现在在4号山峰,前四号山峰的高度分别为9,4,5,1。他现在能看到的山峰个数就是2,因为第二个山峰被第三个山峰挡住了)
小木示把自己记录的山峰的个数加和作为这次爬山的快乐值,现在给你n个山峰的高度,求小木示的快乐值。
Input
接下来一行n个数,表示对应山峰的山峰的高度(1<=h<=106)。
Output
Example Input 1
Example Output
#define lmax 1123456
long long int n;
typedef int element;
typedef struct //定义栈
{
element *top;
element *base;
int size;
}st;
int initstack(st *s) //构造空栈
{
s->base=(element *)malloc(lmax*sizeof(element));
if(!s->base)
{
return -1;
}
s->top=s->base;
s->size=lmax;
return 0;
}
void creatstack(st *s) //依次输入
{
long long int sum=0;
long long int x,m;
m=n;
while(n--)
{
scanf("%lld",&x);
if(n==m-1) //输入元素第一个直接入栈
{
*(++s->top)=x;
}
else //接下来元素需要判断
{
if(x<*(s->top)) //x进栈
{
*(++s->top)=x;
}
else if(x==*(s->top)) //x出栈
{
while(x==*(s->top)&&s->top>=(s->base+1))
{
--s->top;
}
*++s->top=x;
}
else if(x>*(s->top))
{
while(x>*(s->top)&&s->top>=(s->base+1)) //若栈内为6和5,x现为7需要依次删除5、6
{
--s->top;
sum++;
}
*(++s->top)=x;
}
}
sum+=(s->top-(s->base+1)); //栈顶减去栈底即为看到的山峰
}
printf("%lld\n",sum);
}
int main()
{
st s;
initstack(&s);
while(scanf("%lld",&n)!=EOF)
{
initstack(&s);
creatstack(&s);
}
}
Mountaintop(山峰)相关推荐
- 关于机器学习中山峰聚类算法的说明
前言 在之前关于聚类算法的文章中,笔者主要涉及的内容均是和参数求解相关的,如C均值(包括模糊C均值).混合高斯模型等,而对于一些无参数密度估计的算法尚未讨论,而且一般基于参数密度估计的算法均是建立在假 ...
- 栈与队列10——可见的山峰对数量
题目 一个不含有负数的数组可以代表一圈环形山,每个位置的值代表山的高度.有两个方向:next方向(逆时针方向),last 方向(顺时针). 山峰A和山峰B相互看见的条件为: 如果A和B是同一座山,认为 ...
- codevs 1531 山峰
codevs 1531 山峰 题目描述 Description Rocky山脉有n个山峰,一字排开,从西向东依次编号为1, 2, 3, --, n.每个山峰的高度都是不一样的.编号为i的山峰高度为hi ...
- 算法提高课-搜索-Flood fill算法-AcWing 1106. 山峰和山谷:flood fill、bfs
题目分析 来源:acwing 分析:这道题还是flood fill算法的应用,不同点在于八个方向扫描,习惯性采用二重循环来扫描周围的8个方向:其次,这里需要统计周围比它高的和比它矮的,这点用bool变 ...
- JZOJ__Day 10:【普及模拟】【USACO】山峰暸望
题目描述 一天,Bessie在眺望美丽的威斯康星的群山的时候,她突然产生了疑问:哪座山是最宽的捏?她决定在地平线上,利用她的新发明的山峰高度测量仪依次做N (1 <= N <= 10,00 ...
- graphpad如何做x轴在上方的图_R-ggridges包:山峰叠峦图
很忙,很久没有写文章.学习R绘图,这些都是我的兴趣爱好,并非我大的主业.也被我朋友说了很多次,别做这些没用的,既不能带来实际的收益,又耽误正事的时间. 但是我可能对绘图有着某种浓烈的兴趣吧,所以总是抽 ...
- 左神算法:可见的山峰对数量(有重复值的情况)(Java版)
本题来自左神<程序员面试代码指南>"可见的山峰对数量"题目. 题目 牛客在线OJ:可见的山峰对数量(进阶) 一个不含有负数的数组可以代表一圈环形山,每个位置的值代表山的 ...
- 山峰和山谷(信息学奥赛一本通-T1454)
[题目描述] 给定一个 n×n 的网格状地图,每个方格 (i,j)有一个高度 wij .如果两个方格有公共顶点,则它们是相邻的. 定义山峰和山谷如下: 均由地图上的一个连通块组成: 所有方格高度都 ...
- 密度图的密度估计_R-ggridges包:山峰叠峦图
很忙,很久没有写文章.学习R绘图,这些都是我的兴趣爱好,并非我大的主业.也被我朋友说了很多次,别做这些没用的,既不能带来实际的收益,又耽误正事的时间. 但是我可能对绘图有着某种浓烈的兴趣吧,所以总是抽 ...
最新文章
- key mysql_mysql中key 、primary key 、unique key 与index区别
- 【Windows】清除win10开始菜单中失效打程序标签
- 数据结构---基础概念
- python3.8.5 应用程序无法启动-macos python3.8.5 打开摄像头问题
- jQueryMobile引入文件后样式无法正常显示
- 如意报表插件如何安装_Google Chrome浏览器如何安装插件应用
- 洛谷 1165日志分析
- python天气查询系统有什么知识点_Python入门 天气查询程序
- 智能一代云平台(三):15年上半年维护总结
- MATALB程序调试
- 好用的ASP.NET 分页类 简单好用 支持 AJAX 自定义文字
- CFileFind的文件名大小写问题
- ios、android、h5、小程序等安卓苹果平台终端兼容问题
- 原生Android开发自学过程(二)之TextView基础属性
- android手机常用浏览器,Android手机 三大浏览器对比评测
- dva是什么游戏_守望先锋:DVA这个皮肤小蛮腰不算什么,全部细节是这个小脚丫...
- core dump的诡异事件
- java毕业生设计学籍管理系统计算机源码+系统+mysql+调试部署+lw
- 30句2018年精彩走心的文案,没事可以学习下,了解其中的文字意义
- 百度地图api初使用,行政区划及搜索
热门文章
- 地下水污染防治之源头防控
- 快速封装一个二维码在线生成接口
- python数据分析代码在哪里找到_[Python数据分析]NBA的球星们喜欢在哪个位置出手...
- 微金时代:小贷公司贷前调查的重要性和发展前景
- 解析第二代身份证号码
- 怎么学好ZBrush?初学者自学攻略,看完距离ZBrush建模大师又近一步
- 强引用、软引用、弱引用的区别和解析
- linux daemon命令用法,CentOS 6.8 使用start-stop-daemon命令
- AID Learning V0.87F3 使用说明文档
- 使用 iframe sandbox 时的注意点