ZCMU_1117

/相当于看墙,投影之类的东西让我数多少个建筑物/
解释感觉还不到位,以后再看看
先强调这不是我原创的,只是加了注释。找到原作者后会加链接。以及改变布局
#include <cstdlib>
#include <cassert>
#include <stack>
using namespace std;
int main (void)
{
int i, n, h, count;//
while ( scanf( "%d", &n ) != EOF )//多次
{
stack<int>S;//创建了栈
count = 0;//建筑物的个数
for ( i = 0; i < n ; i ++ )
{
scanf( "%d", &h );//当前高度
while ( (!S.empty()) && (S.top()>h) )
{
count ++;
//如果栈中的大于就表示栈中就有一个,所以加1
//相当于这样Nn(这N大于周围肯定有一个)
S.pop();
}
``
if ( S.empty() )//空了话肯定要收入了
{
if ( h != 0 )
S.push(h);
}
else
{
if ( S.top() == h )//一样只需要存放一次高度就行
continue;
else if ( S.top() < h )
S.push(h);//nN(这时候不能保证所以先收入,如果后面一样)
else // S.top() > h(我当前认为是为了保险)
assert(false);
}
}
while ( !S.empty() )//多种参差不齐的高度
{
count ++;
S.pop();
}
printf( "%d\n",count );
}
return EXIT_SUCCESS;
}
随机推荐
- ZEGO 自研客户端配置管理系统 —— 云控
一.常规客户端配置的弊端 客户端配置信息通常会通过一个静态文件进行管理,或存放在本地或者通过远程获取.存在本地最大的问题是不易更新,所以通常做法是通过远程获取. 我们通过两种常见的场景来看看静态文件管 ...
- VS(visual studio) C++ 封装dll,以及其隐式调用与显式调用(静态\动态)
DLL介绍 DLL(动态链接库,Dynamic Link Library)是一种可执行文件,它包含可以在其他程序中调用的函数和数据.他是Windows操作系统中的一个重要概念,用于代码共享和模块化. ...
- 报名开启|和你约定在 "Google 应用出海指南针"
Google 谷歌发布的<2021 移动应用全球化指南>报告中提到,在移动互联网高度渗透的当下,全球用户迸发出来的广泛需求为中国新生代创业者带来了巨大的历史机遇.过去十年,依托于技术和人才 ...
- 【ARMv8基础篇】CCI-400控制器简介
CCI(Cache Coherent Interconnect)是ARM中的cache一致性控制器. CCI-400将互连和一致性功能结合到一个模块中.它支持多达两个ACE 主节点的连接,例如: Co ...
- 「模拟赛」A 层多校联训 4(卖品:CTH)
双倒一啦! 感觉这次最大的错误就是没看 T2.(本质原因还是时间浪费的太多了) 赛时记录在闲话啦 accoder 多校比赛链接 02 表示法 唐诗题!考高精的人都\(**\),输出深度优先搜索解决.高 ...
- C++ 第三节课 指针的使用
#include <iostream> using namespace std; void show(){ cout << "全局函数" << ...
- MySQL下载安装教程
下载 https://www.mysql.com/downloads/
- KubeKey 升级 KubeSphere 和 Kubernetes 补丁版本实战指南
作者:运维有术 前言 知识点 定级:入门级 KubeKey 如何升级 KubeSphere 补丁版本 KubeKey 如何升级 Kubernetes 补丁版本 KubeSphere 和 Kuberne ...
- 适用于 .NET 稳定的官方OpenAI库
前言 今天给大家分享一个由 OpenAI 官方提供,旨在为 .NET 开发者提供方便的接口来访问 OpenAI 的 REST API.这个项目通过 NuGet 包的形式发布,使得 .NET 应用程序能 ...
- 掀起云端革命!ToDesk云电脑与传统PC电脑的差异分析
在科技日新月异的今天,传统PC电脑的市场地位正悄然发生变化.随着云计算技术的不断成熟与普及,云电脑逐渐走进大众视野,不同于传统PC电脑的高昂的成本和易退化的硬件性能,云电脑正以其轻成本高性能的优势吸引 ...