ZZNU 1995: cots' times

Posted 惟愿。。。

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ZZNU 1995: cots' times相关的知识,希望对你有一定的参考价值。

题目描述

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 }

 

以上是关于ZZNU 1995: cots' times的主要内容,如果未能解决你的问题,请参考以下文章

2018/7/31 -zznu-oj -问题 C: 磨刀- 扩展欧几里得算法的基本应用

ZZNU 1163: 在线判题(指针专题)

ZZNU 正约数之和

ZZNU 1988: Sn

ZZNU 正约数之和

zznu 2054 : 油田