牛客小白月赛5 - j - 时间time

链接:https://www.nowcoder.com/acm/contest/135/J
来源:牛客网
 

 Apojacsleam是一个喜欢特殊时刻的人。

        他定义了一个时刻,若电子表显示ab:ba(24小时制),则该时刻为“回文时刻”(可以有前导零)。例如00:00就是回文时刻。

        给定一个时刻,求此时刻的上一个和下一个回文时刻。

J题附加:00:00就是24:00,没有24:00这一时刻

J题附加:输入可能有前导0,输出不含前导0,例如10:1的意思是10:01,而10:10的输出为10:10 

输入描述:

两个正整数,用“:”隔开,表示小时和分钟,保证输入时间合法。

输出描述:

两行,两个时刻(不含前导0),用“:”隔开,表示上一个时刻和下一个时刻

示例1

输入

复制

09:33

输出

复制

5:50
10:1

示例2

输入

复制

23:32

输出

复制

22:22
0:0
​
#include<bits/stdc++.h>
#define ll long long
using namespace std;
int main()
{
    int H, M, h, m;
    scanf("%d:%d", &H, &M);
    h = H, m = M;
    while(1){
        m--;
        if(m < 0){
            h--;
            m = 59;
            if(h < 0){
                h = 23;
            }
        }
        if(h % 10 == m / 10 && h / 10 == m % 10) break;
    }

    while(1){
        M++;
        if(M > 59){
            M = 0;
            H++;
            if(H > 23){
                H = 0;
            }
        }
        if(H % 10 == M / 10 && H / 10 == M % 10) break;
    }

    printf("%d:%d\n%d:%d\n", h, m, H, M);

    return 0;
}

​

猜你喜欢

转载自blog.csdn.net/qq_37602930/article/details/81179028