1 条题解

  • 0
    @ 2083-4-14 12:48:23

    【深基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;
    }
    
    • 1