题解 CF622B 【The Time】

这个题目最难的点不是24进制时间,而是前导0

通过观察样例,我们发现,如果时或者分为0,输出“00”,如果时或者分为个位数,输出“0”时分,这个看似好处理,但如果用if占了整个程序一大半啊!

先来看看如何做24进制时间,其实比较简单的

for(int i = 1; i <= n; i++)
    {
        b++;
        if(b >= 60)
        {
            b = 0;
            a++;
        }
        if(a >= 24)
        {
            a = 0;
        }
    }

就这样就ok了,但是全代码很长啊,100多行

#include <cstdio>

int main()
{
    int a, b, n, cnt = 0;
    scanf("%d:%d", &a, &b);
    scanf("%d", &n);
    for(int i = 1; i <= n; i++)
    {
        b++;
        if(b >= 60)
        {
            b = 0;
            a++;
        }
        if(a >= 24)
        {
            a = 0;
        }
    }
    if(a == 0)
    {
        printf("00:");
        if(b == 0)
        {
            printf("00\n");
        }
        else if(b >= 1 && b <= 9)
        {
            printf("0%d\n", b);
        }
        else
        {
            printf("%d\n", b);
        }
    }
    else if(a >= 1 && a <= 9)
    {
        printf("0%d:", a);
        if(b == 0)
        {
            printf("00\n");
        }
        else if(b >= 1 && b <= 9)
        {
            printf("0%d\n", b);
        }
        else
        {
           printf("%d\n", b);
        }
    }
    else if(b == 0)
    {
        if(a == 0)
        {
            printf("00");
        }
        else if(a >= 1 && a <= 9)
        {
            printf("0%d", a);
        }
        else
        {
           printf("%d:", a);
        }
        printf("00\n");
    }
    else if(b >= 1 && b <= 9)
    {
        if(a == 0)
        {
            printf("00\n");
        }
        else if(a >= 1 && a <= 9)
        {
            printf("0%d\n", a);
        }
        else
        {
            printf("%d:", a);
        }
        printf("0%d\n", b);
    }
    else
    {
        printf("%d:%d\n", a, b);
    }
    return 0;
}

这里说一下为什么不用cin,首先,如果用cin只能用char或者string,观察一下我的scanf,%d和%d之间可以放“:”,不用char或者string啦

posted @   HappyBobb  阅读(3)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示