ACM----HDU-2033 人见人爱 A+B
Problem Description
HDOJ 上面已经有 10 来道 A+B 的题目了,相信这些题目曾经是大家的最爱,希望今天的这个 A+B 能给大家带来好运,也希望这个题目能唤起大家对ACM 曾经的热爱。这个题目的 A 和 B 不是简单的整数,而是两个时间,A 和 B 都是由 3 个整数组成,分别表示时分秒,比如,假设A 为 34 45 56,就表示 A 所表示的时间是34 小时 45 分钟 56 秒。
Input
输入数据有多行组成,首先是一个整数N,表示测试实例的个数,然后是N 行数据,每行有 6 个整数 AH,AM,AS,BH,BM,BS,分别表示时间A 和 B 所对应的时分秒。题目保证所有的数据合法。
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
Author
lcy
Source
ACM 程序设计期末考试(2006/06/07)
Recommend
lcy
解题思路:按位将数据进行相加,注意进位规则。
1 #include<stdio.h> 2 int main(){ 3 int n; 4 int i; 5 int a,b,c,d,e,f; 6 int p,q; 7 while(scanf("%d",&n)!=EOF){ 8 c=0;d=0;e=0; 9 for(i=0;i<n;i++){ 10 a=0;b=0;c=0;d=0;e=0;f=0; 11 scanf("%d%d%d%d%d%d",&a,&b,&c,&d,&e,&f); 12 a=a+d;b=b+e;c=c+f;p=0; 13 //进位满60进1 14 while(c>60){ 15 c=c-60; 16 p++; 17 } 18 b=b+p;q=0; 19 while(b>60){ 20 b=b-60; 21 q++; 22 } 23 a=a+q; 24 printf("%d %d %d\n",a,b,c); 25 } 26 } 27 }