蓝桥杯真题——工作时长

题目

 题目链接0工作时长 - 蓝桥云课

labfile.oss.aliyuncs.com/courses/21074/records.txt

讲解算法原理

如图所见,这是一道填空题目只需要我们填写答案就可以。那么我们完全可以在自己的编译器上通过暴力解法解出答案再填入本题。

那么首先我们容易想到的是将数据通过sort函数排序来计算两段打卡时间差,那么问题是我们怎么判断谁大谁小呢?

我们可以求出每个时间与2022 01 01 00:00:00的时间差再加上自己的时间,插入到一个vector数组中再进行排序。

代码讲解

完整代码可以参考本人gitee:十四届蓝桥杯/02.工作时长 · 陈佳栋/o.O-蓝桥杯 - 码云 - 开源中国

这段代码是定义一个vector数组存放不同月份的天数。

这段代码是将输入时间换算成距离 `2022-01-01 00:00:00` 的秒数。其中的while (scanf("%d-%d-%d %d:%d:%d", &year, &month, &day, &h, &m, &s) == 6)是指只有完整的输入才会进入循环,否则不进入。

这段代码则是计算过程

最后就是使用sort函数排序和输出

最后的结果是5101913,切记最后提交只提交答案,不要提交计算过程否则不计分。最后附上完整代码

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值