题解:B4191 [海淀区小学组 2023] 回文时间
题目简述
求给定的以二十四小时计时法的时间的不含此时间的下一个回文时间。
主要思路
由于一天只有 : 可以用 scanf("%d:%d", &h, &m),输出的时候不够 printf("%.02d:%.02d", h, m)。
AC Code
#include<iostream>
#include<algorithm>
using namespace std;
typedef long long ll;
int main() {
int h, m;
scanf("%d:%d", &h, &m);
// ----------------------------
do {
m++;
// 判断进位
if (m >= 60) {
h++;
m = 0;
}
if (h >= 24) h = 0;
}
while (!(h % 10 == m / 10 && h / 10 == m % 10)); // 由于每个时间只有 4 位,此处的判断条件就是小时的个位等于分钟的十位,并且小时的十位等于分钟的个位
// ----------------------------
printf("%.02d:%.02d", h, m);
return 0;
}