OneCoder Avatar
OneCodercoderli.com · 936 篇博文
一级

C++ 算法考级专栏

真题分析、矩阵探测、递归回溯与基础语法

🎨 视觉封面

【GESP】C++一级练习 luogu-P1425, 小鱼的游泳时间

📅 2024-11-28·✍️ OneCoder·计算中...·⏱️ 5 分钟
#GESP#C++#基础语句

GESP一级综合练习,主要涉及时间计算,难度★☆☆☆☆。

luogu-P1425

题目要求

题目描述

伦敦奥运会要到了,小鱼在拼命练习游泳准备参加游泳比赛,可怜的小鱼并不知道鱼类是不能参加人类的奥运会的。

这一天,小鱼给自己的游泳时间做了精确的计时(本题中的计时都按 2424 小时制计算),它发现自己从 aabb 分一直游泳到当天的 ccdd 分,请你帮小鱼计算一下,它这天一共游了多少时间呢?

小鱼游的好辛苦呀,你可不要算错了哦。

输入格式

一行内输入四个整数,以空格隔开,分别表示题目中的 a,b,c,da, b, c, d

输出格式

一行内输出两个整数 eeff,用空格间隔,依次表示小鱼这天一共游了多少小时多少分钟。其中表示分钟的整数 ff 应该小于 6060

样例输入 #1

BASH
12 50 19 10

样例输出 #1

BASH
6 20

提示

对于全部测试数据,0a,c240\le a,c \le 240b,d600\le b,d \le 60,且结束时间一定晚于开始时间。


题目分析

在本题中,我们需要计算小鱼游泳的总时间。首先,我们从输入中读取开始时间(小时和分钟)以及结束时间(小时和分钟)。接着,我们需要判断结束时间的分钟是否小于开始时间的分钟。如果是这种情况,意味着结束时间的小时数需要减去1,并且结束分钟需要加上60,以便进行正确的计算。最后,我们将计算出的小时和分钟输出。

示例代码

CPP
#include <cstdio>

int main() {
    int a, b, c, d; // 定义四个整数变量,分别表示开始时间的小时和分钟,以及结束时间的小时和分钟
    scanf("%d%d%d%d", &a, &b, &c, &d); // 从标准输入读取四个整数
    // 判断结束分钟是否小于开始分钟
    if (d < b) {
        // 如果结束分钟小于开始分钟,小时数需要减去1,分钟数需要加上60
        printf("%d %d", c - 1 - a, d + 60 - b); // 输出总小时和总分钟
    } else {
        // 如果结束分钟大于或等于开始分钟,直接计算小时和分钟
        printf("%d %d", c - a, d - b); // 输出总小时和总分钟
    }
    return 0; // 程序结束
}

另外一种解题思路是,根据分钟数来计算。首先,我们可以将开始时间和结束时间都转换为总分钟数。然后,通过计算结束时间的总分钟数减去开始时间的总分钟数,得到经过的总分钟数。最后,将总分钟数转换为小时和分钟进行输出。

CPP
#include <cstdio>
using namespace std;

int main() {
    int a, b, c, d; // 定义四个整数变量,分别表示开始时间的小时(a)和分钟(b),以及结束时间的小时(c)和分钟(d)

    // 从标准输入读取四个整数,表示开始和结束的时间
    scanf("%d%d%d%d", &a, &b, &c, &d);

    // 将开始时间转换为总分钟数
    int start_m = a * 60 + b;
    // 将结束时间转换为总分钟数
    int end_m = c * 60 + d;

    // 计算总共经过的分钟数
    int cost_m = end_m - start_m;
    // 计算经过的小时数
    int cost_time_h = cost_m / 60;
    // 计算经过的分钟数
    int cost_time_m = cost_m % 60;

    // 输出经过的小时和分钟
    printf("%d %d", cost_time_h, cost_time_m);
    return 0; // 程序结束
}

💡 OneCoder 资源指引

所有代码开源上传至 GitHub:yummy-code 仓库 · GESP 专题站:GESP WIKI

🤝 技术交流与答疑

欢迎加入:C++ GESP/CSP 考级答疑群(688906745)Java/Python群(982860385),群内日常讨论,互帮互助。

📚

猜你想读 · 相关文章推荐

OneCoder

OneCoder (lihongzheshuai)

一个中年人的自留地,记录学习 C++、GESP/NOI、Java、Python 与算法架构的心得体会。本站唯一网址:coderli.com

💬 读者留言与交流

0 条讨论
✨ 支持 Markdown 语法格式
还没有留言,快来成为第一个讨论者吧!