zoukankan      html  css  js  c++  java
  • 浙南联合训练赛 D

    You are given a broken clock. You know, that it is supposed to show time in 12- or 24-hours HH:MM format. In 12-hours format hours change from 1 to 12, while in 24-hours it changes from 0 to 23. In both formats minutes change from 0 to 59.

    You are given a time in format HH:MM that is currently displayed on the broken clock. Your goal is to change minimum number of digits in order to make clocks display the correct time in the given format.

    For example, if 00:99 is displayed, it is enough to replace the second 9 with 3 in order to get 00:39 that is a correct time in 24-hours format. However, to make 00:99 correct in 12-hours format, one has to change at least two digits. Additionally to the first change one can replace the second 0 with 1 and obtain 01:39.

    Input

    The first line of the input contains one integer 12 or 24, that denote 12-hours or 24-hours format respectively.

    The second line contains the time in format HH:MM, that is currently displayed on the clock. First two characters stand for the hours, while next two show the minutes.

    Output

    The only line of the output should contain the time in format HH:MM that is a correct time in the given format. It should differ from the original in as few positions as possible. If there are many optimal solutions you can print any of them.

    Examples

    Input
    24
    17:30
    Output
    17:30
    Input
    12
    17:30
    Output
    07:30
    Input
    24
    99:99
    Output
    09:09
    #include <iostream>
    #include <stdio.h>
    #include <algorithm>
    using namespace std;
    
    int main()
    {
       int n,a,b;
       scanf("%d %d:%d",&n,&a,&b);
       while(b>=60)
       {
           b%=10;
       }
       if(n==24)
       {
           while(a>=24)
           {
               a%=10;
           }
       }
       else if(n==12)
       {
           while(a>12)
           {
               a-=10;
           }
           if(a==0)
            a++;
       }
       printf("%02d:%02d
    ",a,b);
    }
  • 相关阅读:
    multimap-swap
    multimap-size
    multimap-rend
    CentOS的利手:“Screen”一个可以在多个进程之间多路复用一个物理终端的窗口管理器
    对TCP/IP网络协议的深入浅出归纳
    程序员的数学:汉诺塔递归与非递归求解
    多柱汉诺塔问题探究
    汉诺塔问题的递归实现(扩展)
    CentOS---网络配置详解
    VMWare虚拟机下CentOS 配置网络实现远程连接,提供Web访问
  • 原文地址:https://www.cnblogs.com/andrew3/p/9094120.html
Copyright © 2011-2022 走看看