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

洛谷P13849 [CERC 2023] Equal Schedules题解

题目传送门

首先,缩减一下题面:有两个表,由多行数据组成,每行格式为sis_isieie_ieitit_iti,其中sis_isieie_iei分别表示员工tit_iti的值班起止时间,第一张表由一行六个减号结束,紧接着是第二张表,由一行六个等号结束,最后输出每个人前后两张表工作时长的差,如果前后工作时长没有任何区别,就输出No differences found.

这道题按照题意模拟即可,我们只需两个map数组统计,每个人在两个列表中分别工作了多少时间,然后输出每个人前后两个表工作时长差。

时间复杂度O(n)O(n)O(n)

#include<bits/stdc++.h>
using namespace std;
map<string,int> t1,t2;//两个map用来统计每个人在两个列表中分别工作了多少时间
string p[100005],name,x;//统计出现的不同的人名
int cnt,s,e;//有几个不同的人名
int check(string s1){//这个函数用于把数字字符串转换成数字int x1=0;for(int i=0;i<s1.size();i++){x1=x1*10+s1[i]-48;}return x1;
}
int main(){while(1){cin>>x;if(x=="------")break;//如果输入结束了//否则我们会发现接入了下一行的第一个数字,于是我们就要转换成数字s=check(x);cin>>e>>name;if(!t1[name]){//如果这个名字没出现过p[++cnt]=name;//记住他的名字}t1[name]+=e-s;}while(1){//与上面同理cin>>x;if(x=="======")break;s=check(x);cin>>e>>name;if(!t2[name]&&!t1[name]){//这里必须是两个列表都没出现过p[++cnt]=name;}t2[name]+=e-s;//左闭右开区间}sort(p+1,p+1+cnt);//题目说要按照名字升序排序bool f=0;for(int i=1;i<=cnt;i++){if(t2[p[i]]!=t1[p[i]]){f=1;cout<<p[i]<<" ";//输出他的名字if(t2[p[i]]-t1[p[i]]>0){//如果相差的值是正数cout<<"+";//输出正号}cout<<t2[p[i]]-t1[p[i]]<<endl;//输出第二张表减第一张表}}if(!f){//如果每个人在两个列表中分别工作的时长相同cout<<"No differences found.";}return 0;
}
http://www.dtcms.com/a/354234.html

相关文章:

  • python接口自动化测试报告插件使用
  • CSS扩大点击热区示例
  • 明远智睿 RK3506 核心板:高集成度与强实时性的嵌入式解决方案
  • 【小白笔记】Hugging Face 下载:Git 到镜像网站的
  • 4-3.Python 数据容器 - 集合 set(集合 set 概述、集合的定义、集合的遍历、集合的常用方法)
  • Yolo系列 —— 使用自制数据集训练yolo模型
  • 2021/07 JLPT听力原文 问题一 1番
  • MQTT broker 安装与基础配置实战指南(一)
  • Java:IO流——增强篇
  • anaconda本身有一个python环境(base),想用别的环境就是用anaconda命令行往anaconda里创建虚拟环境
  • 英伟达 spectrum xgs 以太网 的含义和解释
  • 互联网大厂AI面试:从大模型原理到场景应用的深度解析
  • WPF 程序用户权限模块利用MarkupExtension实现控制控件显示
  • 嵌入式分层架构下的AT指令模块设计与实现
  • 使用Nginx搭建图片传输服务:配置与优化指南
  • Content-Type是application/x-www-form-urlencoded表示从前端到后端提交的是表单的形式
  • 微服务的编程测评系统17-判题功能-代码沙箱
  • 除自身以外数组的乘积是什么意思
  • 算法刷题常见错误
  • Linux 打包及压缩基础知识总结
  • 车间生产管理遇到的问题及改善方案有哪些?
  • 在 Windows 上部署 Go 语言开发环境
  • Go语言与Docker 开发的核心应用领域
  • 源码分析unexpected EOF on client connection with an open transaction
  • 分治法——二分答案
  • 深入探索Vue:前端开发的强大框架
  • Android10 音频系统之AudioPlaybackConfiguration
  • JVM之CMS、G1|ZGC详解以及选型对比
  • SynClub-百度在海外推出的AI社交产品
  • A-Level物理课程全解析:知识点、学习计划与培训机构推荐