acwing 1231. 航班时间 模拟

143 阅读1分钟

1231. 航班时间 - AcWing题库

条件和要求

image.png

我们不知道时差是多少,让我们求实际飞行时间。这个飞行时间是去的飞行时间,或者回来的飞行时间,都一样,去回时间相同嘛。

思想

Tips

从东往西飞是+时差 从西往东飞是减时差。

所以从北京飞往中东 ,用北京时间+时差就可以求出到达中东的时间。

求实际飞行时间

我们可以套用一个公式来求实际飞行时间

  flaytime=(gobacktime-gostarttime  +  backendtime-backstarttime)/2
  

为什么要/2?

因为去的时候+时差,回来的时候减时差

   gotime+时差  -  backtime-时差  =2time

我们只需要1time就够了

输入

这道题求flaytime不难,这道题主要是输入比较难:

首先我们先把格式给统一了,变为如下:

image.png

输出

然后注意输出,输出是按照时分秒输出的。我们求飞行时间可以先全部转化为秒,这样好计算一点。输出的时候再把秒转化为时分秒输出。

时间转化为秒

hour * 3600+minutes*60+seconds

秒转换为时分秒

hour=time/3600

minutes=time%3600/60

second=time%60;

code

代码包含两部分:输入输出

其中输入部分包含把 套用格式 把时间转化为秒,求出flaytime

输出部分包含把flaytime转化为时分秒

输入部分

image.png

输出部分

image.png

代码托管: AcWing 1231. 航班时间 - AcWing