回文时间(山东省理工OJ)
回文时间(山东理工OJ)
题目描述
HH 每天都会熬夜写代码,然后很晚才睡觉,但是每天早晨六点多必须要刷卡出宿舍,这就导致了必须在某些课上睡一会才能保证充沛的体力,当然某些重要的课是不能睡掉的,而某些课是可以睡的,比如《中国传统文化》,但是睡觉是不能被老师发现的,否则......他会以让你重修两年来威胁你。已知老师会在电子表上显示的时间为回文(例如:15:51)的时候来检查有没有人在睡觉,所以必须要在那个时间之前醒来。现在,给出 HH 开始睡觉的时间,你要帮她计算出下一个回文时间。
输入
输入包含多组测试数据,对于每组测试数据:
输入只有一行为一个字符串,字符串格式为"HH:MM",HH 和 MM 都为两位数字(00 ≤ HH ≤ 23, 00 ≤ MM ≤ 59)。
输出
对于每组测试数据,输出只有一行为下一个回文时间。
示例输入
12:21
23:59
示例输出
13:31
00:00
题目描述
HH 每天都会熬夜写代码,然后很晚才睡觉,但是每天早晨六点多必须要刷卡出宿舍,这就导致了必须在某些课上睡一会才能保证充沛的体力,当然某些重要的课是不能睡掉的,而某些课是可以睡的,比如《中国传统文化》,但是睡觉是不能被老师发现的,否则......他会以让你重修两年来威胁你。已知老师会在电子表上显示的时间为回文(例如:15:51)的时候来检查有没有人在睡觉,所以必须要在那个时间之前醒来。现在,给出 HH 开始睡觉的时间,你要帮她计算出下一个回文时间。
输入
输入包含多组测试数据,对于每组测试数据:
输入只有一行为一个字符串,字符串格式为"HH:MM",HH 和 MM 都为两位数字(00 ≤ HH ≤ 23, 00 ≤ MM ≤ 59)。
输出
对于每组测试数据,输出只有一行为下一个回文时间。
示例输入
12:21
23:59
示例输出
13:31
00:00
#include<stdio.h> #include<string.h> int main(void) { int h,m; while(~scanf("%d:%d",&h,&m)) { if(h==5&&50<=m&&m<=59) printf("10:01\n"); else if(h==15&&51<=m&&m<=59) printf("20:02\n"); else if(h==23&&32<=m&&m<=59) printf("00:00\n"); else if(0<=h&&h<6) if(h*10>m) printf("%02d:%02d\n",h,h*10); else printf("%02d:%02d\n",h+1,(h+1)*10); else if(6<=h&&h<=9) printf("%02d:%02d\n",10,01); else if(10<=h&&h<16) if(h%10*10+1>m) printf("%02d:%02d\n",h,h%10*10+1); else printf("%02d:%02d\n",h+1,(h+1)%10*10+1); else if(16<=h&&h<=19) printf("%02d:%02d\n",20,02); else if(20<=h&&h<24) if(h%10*10+2>m) printf("%02d:%02d\n",h,h%10*10+2); else printf("%02d:%02d\n",h+1,(h+1)%10*10+2); } return 0; } /************************************** Problem id : SDUT OJ 2174 User name : 李俊 Result : Accepted Take Memory : 280K Take Time : 0MS Submit Time : 2013-08-10 21:49:22 **************************************/