直接模拟计算。注意秒、时是60进制就好。
#include <iostream>
#include <fstream>
using namespace std;
//#define yangyuan
int main()
{
#ifdef yangyuan
ifstream in("in.txt");
cin.rdbuf(in.rdbuf());
#endif // yangyuan
int n, hour1, minute1, second1, hour2, minute2, second2;
while (cin >> n)
{
while (n--)
{
cin >> hour1 >> minute1 >> second1
>> hour2 >> minute2 >> second2;
int sum = second1 + second2;
if (sum >= 60)
{
second1 = sum - 60;
++minute1;
}
else
second1 = sum;
sum = minute1 + minute2;
if (sum >= 60)
{
minute1 = sum - 60;
++hour1;
}
else
minute1 = sum;
hour1 += hour2;
cout << hour1 << " " << minute1 << " " << second1 << endl;
}
}
#ifdef yangyuan
in.close();
#endif // yangyuan
return 0;
}