【深基2.例10】小鱼的游泳时间 · 教师题解
【深基2.例10】小鱼的游泳时间
解题思路
先把两个时刻都转换为从零点起的分钟数,相减得到时长。用时长除以 60 和对 60 取余还原小时、分钟。
正确性说明
每小时为 60 分钟,换算后减法得到准确经过分钟数;商余分解保证分钟少于 60。
易错点
不要单独减分钟而忘记借位;本题保证结束晚于开始且在同一天。
复杂度
时间 O(1),空间 O(1)。
参考代码(C++11)
#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int a, b, c, d;
cin >> a >> b >> c >> d;
int t = c * 60 + d - a * 60 - b;
cout << t / 60 << " " << t % 60 << "\n";
return 0;
}