【洛谷算法题】P1425-小鱼的游泳时间【入门1顺序结构】

简介: 【洛谷算法题】P1425-小鱼的游泳时间【入门1顺序结构】

【洛谷算法题】P1425-小鱼的游泳时间【入门1顺序结构】

题目链接:小鱼的游泳时间 - 洛谷

🌏题目描述

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

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

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

🌏输入格式

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

🌏输出格式

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

🌏样例 #1

🌙样例输入 #1

12 50 19 10

🌙样例输出 #1

6 20

🌏提示

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

🌏题解

题解一:

import java.util.Scanner;
public class P1425 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int a = in.nextInt(), b = in.nextInt(), c = in.nextInt(), d = in.nextInt();
        // 将两个时间点内的时间差转换为分钟数, 然后再得出小时和分钟数
        int e = ((c - a) * 60 - b + d) / 60;
        int f = ((c - a) * 60 - b + d) % 60;
        System.out.print(e + " " + f);
        in.close();
    }
}

题解二:

import java.util.Scanner;
public class P1452 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int a = in.nextInt(), b = in.nextInt(), c = in.nextInt(), d = in.nextInt();
        // 小时
        int x = c - a;
        // 分钟
        int y = d - b;
        // 如果分钟数为负数, 则小时加1,分钟等于 y 加 60
        if(y < 0) {
            x--;
            y = y + 60;
        }
        System.out.println(x + " " + y);
        in.close();
    }
}

🌏总结

这个题思路很简单,一般来说有两种做法:

  1. 把相差的时间全部转换成分钟数,然后使用除法和取余输出小时和分钟数。
  2. 小时减去小时,分钟减去分钟。然后直接输出对应的结果。因为结束时间一定晚于开始时间,而且同为 24 小时制,所以小时可以不用考虑出现负数的情况;而如果分钟数出现负数,则可以让小时数减 1,分钟数用 60 加上这个负数就得到了正确的结果。

作者:花无缺(huawuque404.com)


相关文章
|
7月前
|
机器学习/深度学习 算法 机器人
强化学习:时间差分(TD)(SARSA算法和Q-Learning算法)(看不懂算我输专栏)——手把手教你入门强化学习(六)
本文介绍了时间差分法(TD)中的两种经典算法:SARSA和Q-Learning。二者均为无模型强化学习方法,通过与环境交互估算动作价值函数。SARSA是On-Policy算法,采用ε-greedy策略进行动作选择和评估;而Q-Learning为Off-Policy算法,评估时选取下一状态中估值最大的动作。相比动态规划和蒙特卡洛方法,TD算法结合了自举更新与样本更新的优势,实现边行动边学习。文章通过生动的例子解释了两者的差异,并提供了伪代码帮助理解。
429 2
|
11月前
|
存储 缓存 算法
通过优化算法和代码结构来提升易语言程序的执行效率
通过优化算法和代码结构来提升易语言程序的执行效率
241 2
|
11月前
|
算法 测试技术 开发者
在Python开发中,性能优化和代码审查至关重要。性能优化通过改进代码结构和算法提高程序运行速度,减少资源消耗
在Python开发中,性能优化和代码审查至关重要。性能优化通过改进代码结构和算法提高程序运行速度,减少资源消耗;代码审查通过检查源代码发现潜在问题,提高代码质量和团队协作效率。本文介绍了一些实用的技巧和工具,帮助开发者提升开发效率。
150 3
|
12月前
|
存储 缓存 算法
如何通过优化算法和代码结构来提升易语言程序的执行效率?
如何通过优化算法和代码结构来提升易语言程序的执行效率?
327 5
|
12月前
|
机器学习/深度学习 算法 API
机器学习入门(五):KNN概述 | K 近邻算法 API,K值选择问题
机器学习入门(五):KNN概述 | K 近邻算法 API,K值选择问题
|
12月前
|
机器学习/深度学习 算法
机器学习入门(三):K近邻算法原理 | KNN算法原理
机器学习入门(三):K近邻算法原理 | KNN算法原理
|
11月前
|
机器学习/深度学习 算法 Python
机器学习入门:理解并实现K-近邻算法
机器学习入门:理解并实现K-近邻算法
148 0
|
12月前
|
机器学习/深度学习 算法 大数据
机器学习入门:梯度下降算法(下)
机器学习入门:梯度下降算法(下)
|
12月前
|
机器学习/深度学习 算法
机器学习入门:梯度下降算法(上)
机器学习入门:梯度下降算法(上)
|
8天前
|
传感器 机器学习/深度学习 算法
【使用 DSP 滤波器加速速度和位移】使用信号处理算法过滤加速度数据并将其转换为速度和位移研究(Matlab代码实现)
【使用 DSP 滤波器加速速度和位移】使用信号处理算法过滤加速度数据并将其转换为速度和位移研究(Matlab代码实现)

热门文章

最新文章