题解:P11002 [蓝桥杯 2024 省 Python B] 神奇闹钟

· · 题解

题目传送门

说简单吧,它的细节很多,说难吧,就考那点东西。

首先求出 19701100:00:00 至给出的时间有多少秒,然后再计算给出时间之后的第一个闹铃时间就可以了(19701100:00:00 至当前时间的秒数除以闹铃周期,要向下取整)。

注意每次在末尾要消除换行符(对于使用 getline 的)。

可以使用 sscanf(),sprintf() 等函数解析字符串你想自己解就解吧

对于 Python 者也可使用 datetime 等库自动解析,以及 timedelta 自动计算秒数。

几个复杂的计算结果:

$1$ 天是 $86400$ 秒,$365$ 天是 $31536000$ 秒,$366$ 天是 $31622400$ 秒。 使用 `stringstream` 类更方便(在格式化上)。 ~~我居然因为标点符号被打回。~~