L2-042 老板的作息表(极短代码)

news2024/11/15 12:15:48

题目:

新浪微博上有人发了某老板的作息时间表,表示其每天 4:30 就起床了。但立刻有眼尖的网友问:这时间表不完整啊,早上九点到下午一点干啥了?

本题就请你编写程序,检查任意一张时间表,找出其中没写出来的时间段。

输入格式:

输入第一行给出一个正整数 N,为作息表上列出的时间段的个数。随后 N 行,每行给出一个时间段,格式为:

hh:mm:ss - hh:mm:ss

其中 hhmmss 分别是两位数表示的小时、分钟、秒。第一个时间是开始时间,第二个是结束时间。题目保证所有时间都在一天之内(即从 00:00:00 到 23:59:59);每个区间间隔至少 1 秒;并且任意两个给出的时间区间最多只在一个端点有重合,没有区间重叠的情况。

输出格式:

按照时间顺序列出时间表中没有出现的区间,每个区间占一行,格式与输入相同。题目保证至少存在一个区间需要输出。

输入样例:

8
13:00:00 - 18:00:00
00:00:00 - 01:00:05
08:00:00 - 09:00:00
07:10:59 - 08:00:00
01:00:05 - 04:30:00
06:30:00 - 07:10:58
05:30:00 - 06:30:00
18:00:00 - 19:00:00

 输出样例:

04:30:00 - 05:30:00
07:10:58 - 07:10:59
09:00:00 - 13:00:00
19:00:00 - 23:59:59

 思路:

(1)输入与接受:因为是时间乱序输入,但是结果是顺序输出,我们考虑用vector容器存器

(2)数据处理:定义多一个变量b,吃掉中间的横杠,将所有时间块存到vector,使用sort排序。

循环遍历每一个时间段的开始时间,故(i+=2),判断他与上一个数据,也就是末尾时间是否相等,不相等就输出时间段(上一个时间段的末尾-下一个时间段的开头)

(3)特殊处理:00:00:00与23:59:59两个特殊时间点的判断

#include <bits/stdc++.h>
using namespace std;
int main()
{
    vector<string> v;
    int n;
    cin>>n;
    string a,b,c;
    while(n--){
        cin>>a>>b>>c;
        v.push_back(a);
        v.push_back(c);
    }
    sort(v.begin(),v.end());
    for(int i=0;i<v.size();i+=2){
        if(i==0){
            if(v[i]!="00:00:00")
                cout<<"00:00:00 - "<<v[i]<<endl;
            continue;
        }
        if(v[i-1]!=v[i])
            cout<<v[i-1]<<" - "<<v[i]<<endl;
    }
    if(v[v.size()-1]!="23:59:59")
        cout<<v[v.size()-1]<<" - 23:59:59";
    return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/420429.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

企业推广常用的网络推广方法有哪些?

网络推广是指通过互联网向目标用户推广产品、服务或品牌的过程&#xff0c;其主要目的是为了扩大业务范围&#xff0c;提高企业知名度&#xff0c;增加销售额。在当今的数字化时代&#xff0c;网络推广已经成为了企业不可或缺的一部分。本文将介绍一些常见的网络推广方法和途径…

Linux安装中文字体

前言 Lunix默认没有中文字库&#xff0c;很容易导致项目开发时出现中文字符乱码的情况。 1 查看linux已安装字体 fc-list如出现-bash: fc-list: command not found 说明Linux中没有安装字体库&#xff0c;需要先安装字体库 2 Linux安装字体 yum -y install fontconfig执行…

不平衡电网电压下虚拟同步发电机VSG控制策略-实现不平衡电压下控制三相电流平衡

资源地址&#xff1a; 不平衡电网电压下虚拟同步发电机VSG控制策略-实现不平衡电压下控制三相电流平衡-电子商务文档类资源-CSDN文库 主体模型&#xff1a; VSG控制&#xff1b;正负序分离&#xff1b;正负序控制&#xff1b;电压电流双环控制&#xff01;&#xff01;&…

[LCA]最近公共祖先(倍增)

概念引入 祖先 祖先其实很好理解&#xff0c;一个节点的 **父节点 以及 父节点的父节点 以及 父节点的父节点的父……**都是这个节点的祖先 比如说上面的 ddd 节点&#xff0c; bbb 节点和 aaa 节点都是它的祖先 kkk 级祖先 称节点 &#x1d465; 的父节点为 &#x1d465; …

带你走进Flutter 3.7

期待已久的新教程上线啦&#xff01;解锁Flutter开发新姿势&#xff0c;一网打尽Flutter最新与最热技术&#xff0c;点我Get!!! 新年伊始&#xff0c;由 Flutter 3.7 正式版来「打头阵」&#xff01;我们与整个 Flutter 社区们继续在 Flutter 3.7 中优化了框架&#xff0c;包括…

(一)Linux:自由、开放、灵活的操作系统内核

目录 一、Linux的发展史 二、linux的开源 三、目前的现状 四、企业应用现状 五、发行的版本 六、安装与使用 七、利用云服务器配置Linux环境 一、Linux的发展史 Linux是一款由林纳斯托瓦兹&#xff08;Linus Torvalds&#xff09;开发的操作系统内核&#xff0c;它的发布…

用 logging 模块将信息输出到日志文件

当你要用到一些信息去统计画图&#xff0c; 或者你的输出太长了&#xff0c;出现了那种“折叠”&#xff0c;就是说“内容超过1000行”&#xff0c;结果等下一次进入环境&#xff0c;你只能看到结尾的输出&#xff0c;却看不到开头的输出了&#xff0c; 那么你可以使用 Pytho…

【NLP实战】基于Bert和双向LSTM的情感分类【上篇】

文章目录前言简介数据获取与提取数据清洗读取数据&#xff0c;查看数据清洗训练集观察数据分布去除空数据去除重复数据关于去除停用词关于特殊符号储存清洗后的数据集清洗测试集观察数据分布去除空数据去除重复数据(并储存)清洗验证集观察数据分布去除空行去除重复数据(并储存)…

Go分布式爬虫(二十四)

文章目录24 存储引擎爬取结构化数据step1 从首页获取热门标签信息step2 获取图书列表step3 获取图书详情完整规则存储到MySQL数据抽象数据存储存储引擎实现存储引擎验证dockerdocker-compose使用Navicat查看使用DataGrip查看24 存储引擎 爬虫项目的一个重要的环节就是把最终的…

Mysql逻辑架构和语句执行流程

文章目录1. 逻辑架构剖析1.1 连接管理--连接层1.2 解析与优化--服务层1.3 存储引擎2. SQL语句的执行流程2.1 执行原理2.2 语法顺序1. 逻辑架构剖析 当一个客户端连接mysql服务器执行一条查询语句时&#xff0c;会发生以下处理过程&#xff1a; 1.1 连接管理–连接层 客户端想…

1.半导体基础知识

1.半导体基础知识本征半导体什么是半导体&#xff1f;什么是本征半导体&#xff1f;本征半导体的结构本征半导体中的两种载流子为什么将自然界导电性能中等的半导体材料制成本征半导体杂质半导体N型半导体P型半导体PN结PN结中的扩散运动漂移运动和PN结的形成PN结的单向导电性PN…

Spring中Bean对象的作用域和生命周期详解

Spring作为一个具有众多工具方法的IoC容器&#xff0c;其核心功能就是Bean对象的存储和取出&#xff0c;那么学习Bean对象的作用域和生命周期能让我们更清楚地了解Bean对象在Spring容器中的整个加载过程&#xff01; 一&#xff0c;案例演示&#xff08;Bean对象的修改&#xf…

4.搜索辅助功能

ES 既有基本的搜索功能、又有字段类型的精确搜索、分词匹配、范围搜索、坐标搜索、分页查询等等。 4.1 搜索辅助功能 俗话说“工欲善其事&#xff0c;必先利其器”。在介绍ES提供的各种搜索匹配功能之前&#xff0c;我们先介绍ES提供的各种搜索辅助功能。例如&#xff0c;为优化…

【让你的灵感立刻落地】在线代码运行平台InsCode

文章目录官网地址详解1. 导入项目2. 在线演示、在线修改3. 发布作品参考InsCode 是一个在线代码运行平台&#xff0c;可以在线上运行代码&#xff0c;并且支持多种语言&#xff0c;同时还可以在线修改和提交代码&#xff0c;支持发布和分享项目。InsCode 平台在编写博客、演示项…

二叉树练习题(递归展开图详解哦)

全文目录引言单值二叉树题目描述及思路实现二叉树的最大深度题目描述及思路实现翻转二叉树题目描述及思路实现相同的树题目描述及思路实现总结引言 前面我们介绍了二叉树的相关基础知识&#xff0c;并且了解到二叉树的表示有两种结构&#xff1a;顺序结构与链式结构。即&#…

手把手教您注册/使用Claude

文章目录注册slack注意事项最近几天出现了一个很火的AI聊天项目——Claude&#xff0c;据说可以媲美ChatGPT&#xff0c;最主要的就是可以很好的解决我们国内的使用痛点&#xff0c;可以完全免费无限制的使用&#xff0c;下面就和大家分享一下正确的注册和使用Claude的流程&…

想成为一名【黑客】,你该如何快速的入门?

假设你有一台个人电脑&#xff0c;或者可以访问一台电脑&#xff0c;那么你就可以着手【黑客】技能的学习了。【黑客】文化演化而来的的时候&#xff0c;电脑是很昂贵的&#xff0c;个人不能拥有他们。所以最重要的一个步骤就是新手可以拥有一台属于自己的电脑&#xff0c;新手…

【Cisco Packet Tracer| 一.交换机配置模式与基本参数配置】

文章目录一.交换机的多种模式以及切换1.如何进入到交换机配置的命令行用户界面(Command Line Interface)2.普通模式模式3.特权用户模式4.全局配置模式5.模式切换图二.交换机名称&#xff0c;口令等设置1.全局模式下-交换机改名2.接口模式下-配置端口速度和工作模式2.1配置端口速…

项目8:用户注册和登录的前后端联调

项目8&#xff1a;用户注册和登录的前后端联调 1.前端项目使用 2.前端项目注册模块 3.后端完成项目注册 4.前端项目登录模块 5.后端完成项目登录 6.用户认证&#xff08;校验用户是否登录&#xff09; 项目8&#xff1a;用户注册和登录的前后端联调 1.前端项目使用 直接…

20230413在CV1826平台配置开机自启动程序

20230413在CV1826平台配置开机自启动程序 2023/4/13 10:51 1、项目需求&#xff1a;硬件需要测量摄像头开机之后的电压/时钟信号&#xff0c;但是不想每次开机的时候都通过adb连接cv1826来开启摄像头。 C:\Users\Sun>adb shell / # / # cd /mnt/ /mnt # /mnt # ls -l total …