题目描述
XX年XX月XX日小cot学会了回文数,eg:121.
小cot上课容易走神, 经常看看这个,瞧瞧那个.在小cot某一次走神的过程中他发现电子表上的时间也有回文数...
当然,并不是每次走神小cot都能看到的时间都是回文数, 小cot想知道下一个这样的时间是多少?
输入
输入包含多组测试数据, 每组一个时间 HH:MM 表示小cot走神的时间.
输出
输出下一个回文数的时间.(时间格式HH:MM).
样例输入 10:00 样例输出 10:01 提示 采用24小时制
题目链接:http://acm.zznu.edu.cn/problem.php?id=1995
********************************************
题意:给你一个时间,你输出下一个回文的时刻。
分析:一起来水题。
AC代码:
1 #include <iostream> 2 #include <algorithm> 3 #include <cstdio> 4 #include <cstring> 5 #include<limits.h> 6 #include <cmath> 7 #include <cstdlib> 8 #include <stack> 9 #include <vector> 10 #include <queue> 11 #include <map> 12 13 using namespace std; 14 15 #define N 200000 16 #define INF 0x3f3f3f3f 17 #define met(a, b) memset (a, b, sizeof (a))//// met (dist, -1); 18 19 int p(int x) 20 { 21 return (x+1)%24; 22 } 23 24 int main() 25 { 26 int h,m,a; 27 28 while(scanf("%d:%d",&h,&m) != EOF) 29 { 30 a=(h%10)*10+h/10;///回文后的数字 31 32 if(a>m&&a>=0&&a<60) 33 { 34 printf("%02d:%02d\n",h,a); 35 continue ; 36 } 37 38 while(1) 39 { 40 h=p(h); 41 a=(h%10)*10+h/10; 42 43 if(a>=0&&a<60) 44 { 45 printf("%02d:%02d\n", h,a); 46 break; 47 } 48 } 49 } 50 return 0; 51 }
数据比较少,可以水过。
1 #include <iostream> 2 #include <algorithm> 3 #include <cstdio> 4 #include <cstring> 5 #include<limits.h> 6 #include <cmath> 7 #include <cstdlib> 8 #include <stack> 9 #include <vector> 10 #include <queue> 11 #include <map> 12 13 using namespace std; 14 15 #define N 200000 16 #define INF 0x3f3f3f3f 17 #define met(a, b) memset (a, b, sizeof (a))//// met (dist, -1); 18 19 char s[10]; 20 21 int main() 22 { 23 int h,f,d; 24 25 while(scanf("%s", s) != EOF) 26 { 27 h=(s[0]-'0')*10+s[1]-'0'; 28 f=(s[3]-'0')*10+s[4]-'0'; 29 d=h*60+f; 30 31 ///printf("%d\n", d); 32 33 if(d>=0&&d<70) 34 printf("01:10\n"); 35 else if(d>=70&&d<140) 36 printf("02:20\n"); 37 else if(d>=140&&d<210) 38 printf("03:30\n"); 39 else if(d>=210&&d<280) 40 printf("04:40\n"); 41 else if(d>=280&&d<350) 42 printf("05:50\n"); 43 else if(d>=350&&d<601) 44 printf("10:01\n"); 45 else if(d>=601&&d<671) 46 printf("11:11\n"); 47 else if(d>=671&&d<741) 48 printf("12:21\n"); 49 else if(d>=741&&d<811) 50 printf("13:31\n"); 51 else if(d>=811&&d<881) 52 printf("14:41\n"); 53 else if(d>=881&&d<951) 54 printf("15:51\n"); 55 else if(d>=951&&d<1202) 56 printf("20:02\n"); 57 else if(d>=1202&&d<1272) 58 printf("21:12\n"); 59 else if(d>=1272&&d<1342) 60 printf("22:22\n"); 61 else if(d>=1342&&d<1412) 62 printf("23:32\n"); 63 else if(d>=1412) 64 printf("00:00\n"); 65 } 66 return 0; 67 }