1 条题解

  • 0
    @ 2022-10-14 11:05:18

    用结构体储存时间后,很多功能都可以很方便打包成函数了。

    #include <bits/stdc++.h>
    using namespace std;
    struct Tim
    {
        int h, m; //小时、分钟
    };
    Tim next_time(Tim t, int x)
    {
        t.m += x;
        t.h = (t.h + t.m / 60) % 24;
        t.m %= 60;
        return t;
    }
    bool check_palindrome(Tim t)
    {
        // h1h2:m1m2
        int h1, h2, m1, m2;
        h1 = t.h / 10;
        h2 = t.h % 10;
        m1 = t.m / 10;
        m2 = t.m % 10;
        return h1 == m2 && h2 == m1;
    }
    int main()
    {
        int t;
        cin >> t;
        while (t--)
        {
            Tim st; //开始时间
            char temp;
            int x;
            // cin 读取 00123 到一个整数时能得到 123
            cin >> st.h >> temp >> st.m >> x;
            // 开始统计
            int ans = 0;
            // 第一次看表单独算
            if (check_palindrome(st))
                ans++;
            Tim now; //当前时间,从下一次看表开始算
            now = next_time(st, x);
            while (now.h != st.h || now.m != st.m)
            {
                if (check_palindrome(now))
                    ans++;
                now = next_time(now, x);
            }
            cout << ans << "\n";
        }
        return 0;
    }
    
    • 1

    信息

    ID
    1104
    时间
    1000ms
    内存
    256MiB
    难度
    9
    标签
    递交数
    12
    已通过
    5
    上传者