[R15A] 现在几点
- 难度 入门
- 时限 1s
- 空限 512m
- 数学
数据规模:,,。
思路
把起始时刻换算成「当天第几分钟」,加上持续时间 后对 (一天的总分钟数)取模,得到结束时刻的分钟数,再除回去得到时和分。
复杂度:时间 ,空间 。
仓颉实现
import std.env.*
import std.convert.*
main(): Int64 {
let reader = getStdIn()
let xyt = reader.readln().getOrThrow().split(" ", removeEmpty: true).map({ p => Int64.parse(p) })
let total = (xyt[0] * 60 + xyt[1] + xyt[2]) % 1440
let out = StringBuilder()
out.append(total / 60)
out.append(" ")
out.append(total % 60)
println(out.toString())
return 0
}
要点:
- 跨天的情况由取模统一处理: 可达 分钟(约 694 天),直接先加后取模即可,不需要模拟每一天。
total / 60与total % 60分别是结束时刻的小时和分钟。