• Day009 洛谷 P5707 上学迟到


    洛谷 P5707 上学迟到

    题目

    思路分析

    1. 这题很明显要分多种情况讨论,0点至8点之间,0点之前,两种情况,在每种情况中又细分有四种情况,h大于或小于10,m大于或小于10。

    2. 首先先计算出走到学校要走多少分钟,s/v遇到小数要向上取整,再加上额外的10分钟,然后看它是否大于8*60

      ①如果大于说明是从昨天出发的,先把时间减去8*60,再用24*60进行计算

      ②如果小于说明是在今天出发的,直接用8*60减时间,得到出发的时间

    3. 将计算后得到的分钟转化成时分,用除60得到小时,用取余60得到分钟

    4. 根据时和分是否小于10进行判断,分成四种情况,符合哪种就按哪种输出

    代码

    import java.util.Scanner;
    
    public class Main {
        public static void main(String[] args) {
            Scanner cin = new Scanner(System.in);
            double s = cin.nextDouble();
            double v = cin.nextDouble();
            int h = 0;
            int m = 0;
            int minute = (int) (10 + Math.ceil(s / v));//计算到学校需要多少分钟
    
            //判断是从今天出发还是从昨天出发,然后把时间转换一下
            if (minute > 8 * 60) minute = 24 * 60 - (minute - 8 * 60);
            else minute = 8 * 60 - minute;
            
            //转化成时分
            h = minute / 60;
            m = minute % 60;
    
            //分成四种情况,如果小于10就手动加个0,时和分用:隔开
            if (h < 10 && m >= 10) System.out.println("0" + h + ":" + m);
            if (h < 10 && m < 10) System.out.println("0" + h + ":" + "0" + m);
            if (h >= 10 && m >= 10) System.out.println(h + ":" + m);
            if (h >= 10 && m < 10) System.out.println(h + ":" + "0" + m);
    
            cin.close();
        }
    }
    
  • 相关阅读:
    ASP学习笔记
    Access restriction: The type 'BASE64Encoder'
    hdu2094:产生冠军(判断有环图)
    hdu1533:Going Home(KM匹配)
    hdu2112:HDU Today(最短路)
    hdu2112:HDU Today(最短路)
    hdu2813:One fihgt one(KM匹配)
    hdu2813:One fihgt one(KM匹配)
    hdu2236:无题II(枚举+匈牙利算法)
    hdu2236:无题II(枚举+匈牙利算法)
  • 原文地址:https://www.cnblogs.com/mooncell/p/14736193.html
Copyright © 2020-2023  润新知