https://blog.csdn.net/weixin_43914593/article/details/112728088
(1)飞行时间的计算
设起飞时间是S,到达时间是T,单程飞行时间是X,时差是T。
从A到B:S1+X+T=E1
从B到A:S1+X-T=E2
☀整理两式得:2X=(E1-S1) + (E2-S1),答案就是X。
☀☀☀可见,并不需要计算时差T,因为一去一回,互相抵消了。
(在计算时间的时候直接都转化为S来计算非常简便呀!!!)
(2)输入输出
还是用C语言的scanf进行输入最为简便
输出由于需要填充0,也要使用C语言的printf来控制格式化输出
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>
#include<set>
#include<queue>
#include<stack>
using namespace std;
typedef long long ll;
const int maxn = 110000;
int get_time()
{
int h1,h2,m1,m2,s1,s2;
scanf("%d:%d:%d %d:%d:%d",&h1,&m1,&s1,&h2,&m2,&s2);
int day=0;
if((getchar())!=0)
scanf("(+%d)",&day);
int S=h1*3600+m1*60+s1;
int E=h2*3600+m2*60+s2;
return E-S+day*24*3600;
}
int main()
{
int n;
cin>>n;
while(n--)
{
int ans=(get_time()+get_time())/2;
printf("%02d:%02d:%02d\n",ans/3600,ans/60%60,ans%60);
}
return 0;
}