1006 Sign In and Sign Out

分数 25

作者 CHEN, Yue

单位 浙江大学

At the beginning of every day, the first person who signs in the computer room will unlock the door, and the last one who signs out will lock the door. Given the records of signing in's and out's, you are supposed to find the ones who have unlocked and locked the door on that day.

Input Specification:

Each input file contains one test case. Each case contains the records for one day. The case starts with a positive integer M, which is the total number of records, followed by M lines, each in the format:

ID_number Sign_in_time Sign_out_time

where times are given in the format HH:MM:SS, and ID_number is a string with no more than 15 characters.

Output Specification:

For each test case, output in one line the ID numbers of the persons who have unlocked and locked the door on that day. The two ID numbers must be separated by one space.

Note: It is guaranteed that the records are consistent. That is, the sign in time must be earlier than the sign out time for each person, and there are no two persons sign in or out at the same moment.

Sample Input:

3
CS301111 15:30:28 17:00:10
SC3021234 08:00:00 11:25:25
CS301133 21:45:00 21:58:40

Sample Output:

SC3021234 CS301133

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

栈限制

8192 KB

#include<iostream>
using namespace std;
int n;
string start_id,end_id;
int start_h=0x3f3f3f,start_m=0x3f3f3f,start_s=0x3f3f3f,end_h,end_m,end_s;int main(){scanf("%d",&n);string s;int h1,h2,m1,m2,s1,s2;for(int i=0;i<n;i++){cin>>s;scanf("%d:%d:%d",&h1,&m1,&s1);scanf("%d:%d:%d",&h2,&m2,&s2);// 选最早if(h1<start_h){start_h=h1;start_m=m1;start_s=s1;start_id=s;}else if(h1==start_h){if(m1<start_m){start_m=m1;start_s=s1;start_id=s;}else if(m1==start_m){if(s1<start_s){start_s=s1;start_id=s;}}}// 选最晚if(h2>end_h){end_h=h2;end_m=m2;end_s=s2;end_id=s;}else if(h2==end_h){if(m2>end_m){end_m=m2;end_s=s2;end_id=s;}else if(m2==end_m){if(s2>end_s){end_s=s2;end_id=s;}}}}// cout<<start_id<<" "<<end_id<<endl;printf("%s %s\n",start_id.c_str(),end_id.c_str());return 0;
}

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

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

相关文章

【git】首次clone的使用采用-b指定了分支,还使用了--depth=1 后续在这个基础上拉取所有的分支代码方法

要解决当前问题&#xff08;从浅克隆转换为完整克隆并获取所有分支&#xff09;&#xff0c;请按照以下步骤操作&#xff1a; 步骤 1&#xff1a;检查当前远程地址 首先确认远程仓库地址是否正确&#xff1a; git remote -v步骤 2&#xff1a;修改远程配置以获取所有分支 默认浅…

萝卜切丁机 机构笔记

萝卜切丁机_STEP_模型图纸免费下载 – 懒石网 机械工程师设计手册 1是传送带 2是曲柄滑块机构&#xff1f; 挤压动作

多张图片生成视频模型技术深度解析

多张图片生成视频模型测试相比纯文本输入&#xff0c;有视觉参考约束的生成通常质量更稳定&#xff0c;细节更丰富 1. 技术原理和工作机制 多张图片生成视频模型是一种先进的AI技术&#xff0c;能够接收多张输入图像&#xff0c;理解场景变化关系&#xff0c;并合成具有时间连…

中电金信:AI重构测试体系·智能化时代的软件工程新范式

AI技术的迅猛发展正加速推动软件工程3.0时代的到来&#xff0c;深刻地重塑了测试行业的运作逻辑&#xff0c;推动测试角色从“后置保障”转变为“核心驱动力”。在大模型技术的助力下&#xff0c;测试质量和效能将显著提升。9月5日至6日&#xff0c;Gtest2025全球软件测试技术峰…

100、23种设计模式之适配器模式(9/23)

适配器模式&#xff08;Adapter Pattern&#xff09; 是一种结构型设计模式&#xff0c;它允许将不兼容的接口转换为客户端期望的接口&#xff0c;使原本由于接口不兼容而不能一起工作的类可以协同工作。 一、核心思想 将一个类的接口转换成客户期望的另一个接口使原本因接口不…

线上环境CPU使用率飙升,如何排查

线上环境CPU使用率飙升&#xff0c;如何排查 1.CPU飙升的常见原因 1. 代码层面问题 死循环&#xff1a;错误的循环条件导致无限循环递归过深&#xff1a;没有正确的终止条件算法效率低&#xff1a;O(n)或更高时间复杂度的算法处理大数据集频繁GC&#xff1a;内存泄漏导致频繁垃…

《sklearn机器学习——特征提取》

在 sklearn.feature_extraction 模块中&#xff0c;DictVectorizer 是从字典&#xff08;dict&#xff09;中加载和提取特征的核心工具。它主要用于将包含特征名称和值的 Python 字典列表转换为机器学习算法所需的数值型数组或稀疏矩阵。 这种方法在处理结构化数据&#xff08;…

IEEE出版,限时早鸟优惠!|2025年智能制造、机器人与自动化国际学术会议 (IMRA 2025)

2025年智能制造、机器人与自动化国际学术会议 (IMRA2025)2025 International Conference on Intelligent Manufacturing, Robotics, and Automation中国▪湛江2025年11月14日-2025年11月16日IMRA2025权威出版大咖云集稳定检索智能制造、人工智能、机器人、物联网&#xff08;Io…

C# 基于halcon的视觉工作流-章30-圆圆距离测量

C# 基于halcon的视觉工作流-章30-圆圆距离测量 本章目标&#xff1a; 一、利用圆卡尺找两圆心&#xff1b; 二、distance_pp算子计算两圆点距离&#xff1b; 三、匹配批量计算&#xff1b;本章是在章23-圆查找的基础上进行测量使用&#xff0c;圆查找知识请阅读章23&#xff0c…

java设计模式二、工厂

概述 工厂方法模式是一种常用的创建型设计模式&#xff0c;它通过将对象的创建过程封装在工厂类中&#xff0c;实现了创建与使用的分离。这种模式不仅提高了代码的复用性&#xff0c;还增强了系统的灵活性和可扩展性。本文将详细介绍工厂方法模式的三种形式&#xff1a;简单工厂…

Ubuntu 24.04 中 nvm 安装 Node 权限问题解决

个人博客地址&#xff1a;Ubuntu 24.04 中 nvm 安装 Node 权限问题解决 | 一张假钞的真实世界 参考nvm的一个issue&#xff1a;https://github.com/nvm-sh/nvm/issues/3363 异常信息如下&#xff1a; $ nvm install 22 Downloading and installing node v22.19.0... Download…

Java面试-线程安全篇

一、synchronized关键字&#xff1a; 基本使用与作用&#xff1a;通过抢票代码示例&#xff0c;展示了synchronized作为对象锁&#xff0c;可避免多线程超卖或抢到同一张票问题&#xff0c;保证代码原子性&#xff0c;同一时刻只有一个线程获得锁&#xff0c;其他线程阻塞。底层…

R 语言科研绘图 --- 其他绘图-汇总2

在发表科研论文的过程中&#xff0c;科研绘图是必不可少的&#xff0c;一张好看的图形会是文章很大的加分项。 为了便于使用&#xff0c;本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中&#xff0c;获取方式&#xff1a; R 语言科研绘图模板 --- sciRplothttps://mp.…

【数学建模学习笔记】启发式算法:粒子群算法

零基础小白看懂粒子群优化算法&#xff08;PSO&#xff09;一、什么是粒子群优化算法&#xff1f;简单说&#xff0c;粒子群优化算法&#xff08;PSO&#xff09;是一种模拟鸟群 / 鱼群觅食的智能算法。想象一群鸟在找食物&#xff1a;每只鸟&#xff08;叫 “粒子”&#xff0…

【Gitlab】Ubuntu 20.04服务器部署Gitlab

写一个 适用于 Ubuntu 20.04/22.04 的 GitLab 一键部署脚本&#xff0c;包括&#xff1a;安装依赖安装 GitLab CE配置公网 IP 或域名自动开启 HTTPS&#xff08;Let’s Encrypt&#xff09;配置防火墙下面是完整脚本&#xff1a;#!/bin/bash# # GitLab 一键安装脚本 # # 1. 检…

Android 15重磅升级:16KB内存页机制详解与适配指南

一、背景随着Android硬件架构的持续演进&#xff0c;新一代设备开始采用16KB内存页&#xff08;Page Size&#xff09;机制&#xff0c;逐步替代传统的4KB内存页设计。此项底层变更对应用兼容性产生直接影响&#xff0c;特别是对依赖Native层库、JNI接口或自定义内存管理模块的…

Mybatis-8 动态SQL

动态SQL-官方文档 文档地址 动态 SQL_MyBatis中文网 为什么需要动态SQL 1、动态SQL是MyBatis的强大特性之一 2、使用JDBC或其它类似的框架&#xff0c;根据不同条件拼接SQL语句非常麻烦&#xff0c;例如拼接时要确保不能忘记添加必要的空格&#xff0c;还要注意去掉列表最后一…

PySpark数据输入

PySpark数据输入 1.理解RDD对象 2.掌握PySpark数据输入的2种方法 RDD对象 PySpark支持多种数据的输入&#xff0c;在输入完成后&#xff0c;都会得到一个&#xff1a;RDD类的对象 RDD全称为&#xff1a;弹性分布式数据集&#xff08;Resilient Distributed Datasets&#xff09…

【系统架构设计(16)】软件架构设计二:软件架构风格:构建系统的设计模式与选择指南

文章目录一、核心思想二、数据流风格&#xff1a;以数据流动为核心的处理模式三、调用返回风格&#xff1a;基于程序调用的层次化组织四、独立构件风格&#xff1a;基于事件驱动的松耦合架构五、虚拟机风格&#xff1a;提供抽象执行环境的架构模式六、仓库风格&#xff1a;以数…

MySQL速记小册(1)

1【Q】&#xff1a;Mysql中的数据排序是怎么实现的&#xff1f;【A】&#xff1a;排序过程中如果字段有索引&#xff0c;则利用索引排序。反之使用文件排序。在文件排序中&#xff0c;如果数据量少则在内存中排序&#xff0c;使用单路排序或双路排序。如果数据量大则利于磁盘文…