L2-042 老板的作息表(PTA)

文章目录

  • L2-042 老板的作息表
    • 题目描述
    • sort排序函数

L2-042 老板的作息表

题目描述

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

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

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

hh:mm:ss - hh:mm:ss

其中 hh、mm、ss 分别是两位数表示的小时、分钟、秒。第一个时间是开始时间,第二个是结束时间。题目保证所有时间都在一天之内(即从 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

sort排序函数

下面是对提供的代码进行详细注释的版本。这段代码的目的是,给定一个时间段的列表,它会找出并打印出在这些时间段之间未覆盖的所有时间段。

#include<bits/stdc++.h>  // 引入常用的头文件
using namespace std;// 定义一个结构体tim来存储每一个时间段的开始和结束时间
struct tim
{string begin,end;
}p[100000]; // 声明一个tim类型的数组p来存储所有输入的时间段// cmp函数用于比较两个时间段的开始时间,以便于之后对时间段进行排序
// 它接受两个tim类型的参数,返回一个bool值
bool cmp(tim a,tim b)
{// 如果a的开始时间小于b的开始时间,返回true,否则返回falsereturn a.begin<b.begin;
}// 主函数
int main()
{int n; // 定义一个整型变量n来存储时间段的数量cin>>n; // 输入时间段的数量char c; // 定义一个字符变量c,用于读取时间段中的"-"字符string b="00:00:00", e="23:59:59"; // 定义两个字符串变量b和e,分别存储一天的开始和结束时间// 循环读取每一个时间段的开始和结束时间for(int i=0;i<n;i++)cin>>p[i].begin>>c>>p[i].end;// 使用sort函数,根据cmp函数定义的规则,对时间段进行排序sort(p,p+n,cmp);// 遍历排序后的时间段for(int i=0;i<n;i++){// 如果当前遍历到的时间段的开始时间不等于b(上一个时间段的结束时间)// 说明两个时间段之间存在未覆盖的时间段if(b!=p[i].begin)cout<<b<<" - "<<p[i].begin<<endl; // 打印出未覆盖的时间段b=p[i].end; // 更新b为当前时间段的结束时间,为下一次比较准备}// 如果最后一个时间段的结束时间不等于一天的结束时间// 则打印出这个时间段到一天结束时间之间的未覆盖的时间段if(b!=e)cout<<b<<" - "<<e;return 0;
}

这段代码通过读取一系列时间段,然后在这些时间段之间找出未被覆盖的时间段并输出。它首先对输入的时间段按照开始时间进行排序,然后通过遍历这个排序后的列表来检查并输出未覆盖的时间段。

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

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

相关文章

UnityShader:IBL

效果&#xff1a; 实现&#xff1a; Shader "MyShader/IBL" {Properties{_CubeMap ("环境贴图", Cube) "white" {}_Exposure("曝光",float)1.0_Color("颜色",color)(1,1,1,1)_NormalMap("法线贴图",2d)"bu…

nginx代理架构如何保持后端应用服务器集群的会话

目录 1. 引言2. 原理3. 配置指令3.1 session_sticky3.2 session_sticky_hide_cookie 4. 配置举例5. 问题和思考5.1 如果浏览器关闭了cookie&#xff0c;这个功能还能用吗?5.2 如果某台服务器故障了&#xff0c;那么之前路由到该服务器的请求将怎么处理&#xff1f;5.3 对于部分…

每日一题 第七期 Codeforces Round 929 (Div. 3) Editorial

Turtle Tenacity: Continual Mods D. Turtle Tenacity: Continual Mods time limit per test: 2 seconds memory limit per test: 256 megabytes input: standard input output: standard output Given an array a 1 , a 2 , … , a n a_1, a_2, \ldots, a_n a1​,a2​,……

Python——pgzero游戏打包exe执行时报错

Python——pgzero游戏打包exe执行时报错 记录一次使用 pgzero 开发游戏&#xff0c;使用 pyinstaller 打包时报错 目录结构&#xff1a; 1. 第一次报错 打包指令&#xff1a; pyinstaller -Fw .\code.py结果打开报错 报错如下&#xff1a; Traceback (most recent call…

【Web】记录[长城杯 2022 高校组]b4bycoffee题目复现

目录 前言 环境准备 简单分析 EXP(两种打法) 生成Payload 恶意类 ①Spring命令执行回显类 ②Filter型内存马 前言 本地jar包运行打通了&#xff0c;远程500&#xff0c;nss靶机有问题&#xff0c;换了bugku就可( 主要记录下做题过程&#xff0c;纯菜狗&#xff0c;小…

Puppet 代码入门:清单和模块

简介 在设置代理/主配置的 Puppet 后&#xff0c;您可能需要一些帮助来编写 Puppet 清单和模块。为了有效地使用 Puppet&#xff0c;您必须了解清单和模块的构造方式。本教程涵盖了 Puppet 代码的基础知识&#xff0c;并将向您展示如何构建清单和模块&#xff0c;以帮助您开始…

Euler angles and Quaterean

what is Euler angles ?&#xff08;欧拉角是什么东西&#xff1f;&#xff09; The Euler angles are three angles introduced by Leonhard Euler to describe the orientation of a rigid body with respect to a fixed coordinate system (被欧拉引入用三个角度来描述刚体…

Linux——开发工具yum与vim

Linux——开发工具yum与vim 文章目录 Linux——开发工具yum与vim一、Linux 软件包管理器-yum1.1 什么是软件包1.2 yum的使用 二、linux下的编辑器-vim2.1 vim的基本概念2.2 vim的基本操作插入模式下的基本命令底行模式下的基本指令 2.3 vim的配置 一、Linux 软件包管理器-yum …

鸿蒙内核系统

一、系统设计总纲 1.1鸿蒙战略设计目标 全场景1.2鸿蒙操作系统目标实现的技术支撑1.2.1分布式设计1.2.2一次开发&#xff0c;多端部署1.2.3系统与硬件解耦&#xff0c;弹性部署1.3鸿蒙操作系统技术架构1.3.1内核层1.3.2系统服务层1.3.3框架层1.3.4应用层1.4本章小结 二、鸿蒙的…

8-图像缩放

其实&#xff0c;就是开辟一个zoomwidth&#xff0c;zoomheight的内存&#xff0c;再分别赋值即可。 void CDib::Scale(float xZoom, float yZoom) { //指向原图像指针 LPBYTE p_data GetData(); //指向原像素的指针 LPBYTE lpSrc; //指向缩放图像对应像素的指针 LPBYTE lpDs…

数据结构——lesson8二叉树的实现

&#x1f49e;&#x1f49e; 前言 hello hello~ &#xff0c;这里是大耳朵土土垚~&#x1f496;&#x1f496; &#xff0c;欢迎大家点赞&#x1f973;&#x1f973;关注&#x1f4a5;&#x1f4a5;收藏&#x1f339;&#x1f339;&#x1f339; &#x1f4a5;个人主页&#x…

论文阅读——BLIP

BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Generation &#xff08;1&#xff09;单模态编码器&#xff0c;它分别对图像和文本进行编码。图像编码器用ViT&#xff0c;并使用附加的 [CLS] 标记来表示全局图像特征。文本…

springcloud:4.1 GateWay

概述 Gateway 简介 Spring Cloud Gateway基于Spring 5.0、SpringBoot 2.0和Project Reactor等技术开发 旨在为微服务架构提供一种简单有效的、统一的API路由管理方式&#xff0c;并为微服务架构提供安全、监控、指标和弹性等功能 其目标是替代Zuul特点 易于编写谓词和过滤器&…

解决谷歌浏览器最新chrome94版本CORS跨域问题

项目场景&#xff1a; 谷歌浏览器升级到chrome94版本出现CORS跨域问题 问题描述 解决谷歌浏览器最新chrome94版本CORS跨域问题。 CORS跨域问题&#xff1a; 升级谷歌浏览器最新chrome94版本后&#xff0c;提示Access to XMLHttpRequest at ‘http://localhost:xxxx/api’ fro…

zabbix企业微信接入结合海螺问问编写的shell脚本

前言 博客懒得写详细了&#xff0c;视频剪的累死了&#xff0c;看视频就好了 白帽小丑的个人空间-白帽小丑个人主页-哔哩哔哩视频 shell脚本 #!/bin/bash #set -x CorpID"" #我的企业下面的CorpID Secret"" #创建的应用那…

【Numpy】(3)数组操作

索引 基本索引 NumPy索引类似于Python列表的索引,但它提供了更多的功能。对于一维数组,你可以使用整数索引访问特定位置的元素: import numpy as nparr = np.array([1, 2, 3, 4]) print(arr[2]) # 输出:3对于多维数组,你可以使用逗号分隔的索引元组来访问元素: arr …

C++:什么情况下函数应该声明为纯虚函数

在C中&#xff0c;函数应该在以下情况下声明为纯虚函数&#xff1a; 抽象基类&#xff1a;当你希望定义一个基类&#xff0c;该基类不能被实例化&#xff0c;只能作为其他类的基类时&#xff0c;你应该在基类中声明至少一个纯虚函数。这样的基类被称为抽象基类。纯虚函数通过在…

python实现多进程循环共享内存队列

python实现多进程循环共享内存队列 python >=3.8 1、原理流程 生产者消费者模式: 创建一个size大小的共享内存列表,前三个分别保存头指针、尾指针、锁 一个进程生产数据 多个进程消费数据 消费数据时通过锁来保证已消费的数据不能再被取出,已消费的数据置为None1、创建…

C到C++的敲门砖-1

文章目录 关键字命名空间输入和输出缺省参数函数重载 关键字 相较于C语言32个关键字&#xff1a; autodoubleintstructbreakelselongswitchcaseenumregistertypedefcharexternreturnunionconstfloatshortunsignedcontinueforsignedvoiddefaultgotosizeofvolatiledoifwhilesta…

全量知识系统“全基因序列”程序构想之1

序 这段时间使用AI工具来完善系统的设计。这几天的话题一直都是 使设计可能完成的一个起点&#xff0c;就是“全基因序列”。从这个文字表述上就可以看出&#xff0c;它将可能是需求文档、程序概要结构和数据库三部分的融合体。 计划从今天开始 深入这个话题&#xff0c;目标…