H - 人见人爱A+B

56 阅读1分钟
    这个题目的AB不是简单的整数,而是两个时间,AB 都是由3个整数组成,分别表示时分秒,比如,假设A34 45 56,就表示A所表示的时间是34小时 45分钟 56秒。
Input
    输入数据有多行组成,首先是一个整数N,表示测试实例的个数,然后是N行数据,每行有6个整数AH,AM,AS,BH,BM,BS,分别表示时间AB所对应的时分秒。题目保证所有的数据合法。
Output
    对于每个测试实例,输出A+B,每个输出结果也是由时分秒3部分组成,同时也要满足时间的规则(即:分和秒的取值范围在0~59),每个输出占一行,并且所有的部分都可以用32位整数表示。
Sample Input

    2
    1 2 3 4 5 6
    34 45 56 12 23 34

Sample Output

    5 7 9
    47 9 30
#include<stdio.h>
int main()
{
	int n,ah,am,as,bh,bm,bs,b,c,sign1,sign2,sign3;
	scanf("%d",&n);
	while(n--)
	{
		sign1=0;
		sign2=0;
		sign3=0;
		scanf("%d %d %d %d %d %d",&ah,&am,&as,&bh,&bm,&bs);
		if(as+bs>=60)
		{
			c=(as+bs)%60;
			sign1=1;
		}
		if(am+bm>=60)
		{
			b=(bm+am)%60;
			sign2=1;
		}
		if(sign1==1&&sign2==1)
		{
			printf("%d %d %d\n",ah+bh+1,b+1,c);
		}
		else if(sign1==0&&sign2==1)
		{
			printf("%d %d %d\n",ah+bh+1,b,as+bs);
		}
		else if(sign1==1&&sign2==0)
		{
			printf("%d %d %d\n",ah+bh,am+bm+1,c);
		}
		else
		{
			printf("%d %d %d\n",ah+bh,am+bm,as+bs);
		}
		
		
	}
	return 0;
}