/相当于看墙,投影之类的东西让我数多少个建筑物/

解释感觉还不到位,以后再看看

先强调这不是我原创的,只是加了注释。找到原作者后会加链接。以及改变布局

#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;
}

随机推荐

  1. ASP.NET Core C# 反射 & 表达式树 (第二篇)

    前言 上一篇讲到了各种反射的操作方式, 这一篇主要说说如何找到类型. Type Information 在找类型的时候, 除了依据简单的 string 以外, 还会用到很多类型属性来做判断. 比如它是 ...

  2. windbg配置问题汇总(记录)

    .loadby sos.dll mscorwks.symfix c:\windows\symbols windbg配置问题汇总 1.Failed to find runtime DLL (clr.dl ...

  3. [OI] 二项式期望 DP

    OSU OSU yet Another OSU yet yet Another OSU OSU 的题目是这样的:有一些相邻的块,给定每一个块的联通概率,每个连通块对答案有 \(size^{3}\) 的 ...

  4. Docker基本操作(镜像操作?容器操作?)(四)

    Docker 的基本原理我们已经了解了,也已经安装上了,接下来我们就一起来学习下 Docker 的常用操作,实际上主要就是 Docker CLI 的一些常用命令使用. 一.镜像操作 之前我们提到过 D ...

  5. k8s-部署

    目录 1 k8s 组件功能介绍 1.2 K8s 集群API: kube-apiserver 1.3 K8s 调度程序:kube-scheduler 1.4 K8s 控制器:kube-controlle ...

  6. Centos LNMP 安装日记

    环境介绍 [root@k8s-master ~]# cat /etc/redhat-release CentOS Linux release 7.7.1908 (Core) mysql8.0.12_b ...

  7. eBPF 概述:第 2 部分:机器和字节码

    1. 前言 我们在第 1 篇文章中介绍了 eBPF 虚拟机,包括其有意的设计限制以及如何从用户空间进程中进行交互.如果你还没有读过这篇文章,建议你在继续之前读一下,因为没有适当的介绍,直接开始接触机器 ...

  8. Java日期时间API系列20-----Jdk8中java.time包中的新的日期时间API类,ZoneId时区ID大全等。

    Java日期时间API系列19-----Jdk8中java.time包中的新的日期时间API类,ZonedDateTime与ZoneId和LocalDateTime的关系,ZonedDateTime格 ...

  9. YoloDotNet v2.1:实时物体检测的利器

    项目介绍 YoloDotNet v2.1 是一个基于 C# 和 .NET 8 的实时物体检测框架,专为图像和视频中的物体检测而设计.它集成了 Yolov8 ~ Yolov11 模型,通过 ML.NET ...

  10. 3. 王道OS-操作系统的运行机制,中断和异常

    1. 高级语言- 编译 - 机器指令 (二进制) 2. 内核态和用户态 :刚开机的时候CPU是内核态,当用户启动某个程序的时候CPU是用户态,如果遇到危险,操作系统会夺回CPU的控制权成为内核态,当危 ...