当前位置: 首页 > news >正文

试题 算法训练 藏匿的刺客

问题描述

  强大的kAc建立了强大的帝国,但人民深受其学霸及23文化的压迫,于是勇敢的鹏决心反抗。
  kAc帝国防守森严,鹏带领着小伙伴们躲在城外的草堆叶子中,称为叶子鹏。
  kAc帝国的派出的n个看守员都发现了这一问题,第i个人会告诉你在第li个草堆到第ri个草堆里面有人,要求你计算所有草堆中最少的人数,以商议应对。
  “你为什么这么厉害”,得到过kAc衷心赞美的你必将全力以赴。

输入格式

  第一行一个数字n,接下来2到n+1行,每行两个数li和ri,如题。

输出格式

  输出一个数,表示最少人数。

样例输入

5
2 4
1 3
5 7
1 8
8 8

样例输出

3

数据规模和约定

  30%的数据n<=10
  70%的数据n<=100
  100%的数据n<=1000
  所有数字均在int表示范围内

#include<iostream>
#include<algorithm>
using namespace std;struct guard{int start;int end;
};bool cmp(guard A, guard B) {return A.end < B.end;
}int main() {int n;guard people[1001];cin >> n;for (int i = 0; i < n; i ++) {cin >> people[i].start >> people[i].end;}sort(people, people + n, cmp);int ans = 1;int minEnd = people[0].end;for (int i = 0; i < n; i ++) {if (minEnd < people[i].start) {ans++;minEnd = people[i].end;}}cout << ans;return 0;
}

总结:

首先把那几组数据存下来,我用一个guard(看守)结构体来储存

把他们的结束位置从小到大排列

接下来只要找开始位置比那个最小的结束(即第1个看守的结束位置)位置大,就把人数加一

http://www.lryc.cn/news/14001.html

相关文章:

  • JavaWab开发的总括以及HTML知识
  • Oracle数据库文件(*.dbf)迁移【图文教程】
  • Java中如何创建和使用对象?
  • Spring Cloud Alibaba--ActiveMQ微服务详解之消息队列(四)
  • 32岁,薪水被应届生倒挂,裸辞了
  • 蓝桥杯训练day1
  • Unity毛发系统TressFX Exporter
  • 《爆肝整理》保姆级系列教程python接口自动化(十九)--Json 数据处理---实战(详解)
  • Golang:reflect反射的使用例子
  • markdown常用语法--花括号(超详细)
  • BN、SyncBN、IN、LN、GN学习记录
  • 使用 Auto-scheduling 优化算子
  • 智能运维应用之道,告别企业数字化转型危机
  • 第七章 SQL错误信息 - SQL错误代码 -400 到 -500
  • DDFN: Decoupled Dynamic Filter Networks解耦的动态卷积
  • NISP认证报名条件是什么?考试内容是什么?
  • 利用redis实现缓存、发布订阅、分布式锁功能
  • SVN无法连接到服务器的各种问题原因及解决办法
  • React 基本使用
  • 单例模式设计(面试题)
  • 机器学习:基于支持向量机(SVM)进行人脸识别预测
  • 【服务器数据恢复】多块磁盘离线导致RAIDZ崩溃的数据恢复案例
  • iconfont 图标如何在uniapp中的tabBar使用
  • 第六章.卷积神经网络(CNN)—卷积层(Convolution)池化层(Pooling)
  • c/c++开发,无可避免的模板编程实践(篇六)
  • 【Java】Spring核心与设计思想
  • 组合实现多类别分割(含实战代码)
  • 从红队视角看AWD攻击
  • 龙腾万里,福至万家——“北京龙文化促进协会第九届龙抬头传承会”在京举办
  • 《软件方法》强化自测题-业务建模(4)