假设两地时间差为(d),飞机飞机时间为(flytime)。
则去的实际花费时间为(flytime=arrivetime_1 - starttime_1+d),回来的实际花费时间为(flytime=arrivetime_2-starttime_2-d)。
得(flytime = frac{(arrivetime_1 - starttime_1) + (arrivetime_2-starttime_2)}{2})
const int N=1e5+10;
struct Node
{
int hh,mm,ss,d;
Node()
{
hh=mm=ss=d=0;
}
int calc()
{
return hh*3600+mm*60+ss+d*24*3600;
}
};
int n;
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
Node a,b;
scanf("%d:%d:%d",&a.hh,&a.mm,&a.ss);
scanf("%d:%d:%d (+%d)",&b.hh,&b.mm,&b.ss,&b.d);
int cometime=b.calc()-a.calc();
Node c,d;
scanf("%d:%d:%d",&c.hh,&c.mm,&c.ss);
scanf("%d:%d:%d (+%d)",&d.hh,&d.mm,&d.ss,&d.d);
int backtime=d.calc()-c.calc();
int res=(backtime+cometime)/2;
printf("%02d:%02d:%02d
",res/3600,res%3600/60,res%3600%60);
}
//system("pause");
return 0;
}