acm 人见人爱a+b

问题描述:

acm 人见人爱a+b
人见人爱A+BTime Limit:2000/1000 MS (Java/Others) Memory Limit:65536/32768 K (Java/Others)
Total Submission(s):15976 Accepted Submission(s):10420
Problem Description
HDOJ上面已经有10来道A+B的题目了,相信这些题目曾经是大家的最爱,希望今天的这个A+B能给大家带来好运,也希望这个题目能唤起大家对ACM曾经的热爱.
这个题目的A和B不是简单的整数,而是两个时间,A和B 都是由3个整数组成,分别表示时分秒,比如,假设A为34 45 56,就表示A所表示的时间是34小时 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 947 9 30
下面是我做的
#include
int main()
{
int n,hour=0,min=0,sec=0,i;
int hour2,min2,sec2;
int hour1,min1,sec1;
int hours,minutes,seconds;
while(scanf("%d",&n)!=EOF)
{
while(n--)
{
scanf("%d%d%d%d%d%d",&hour1,&min1,&sec1,&hour2,&min2,&sec2);
seconds=sec2+sec1+sec;
if(seconds>=60)
{
min=seconds/60;
seconds=seconds%60;
}
minutes=min+min1+min2;
if(minutes>=60)
{
hour=minutes/60;
minutes=minutes%60;
}
hours=hour1+hour2+hour;
printf("%d %d %d\n",hours,minutes,seconds);
hours=0;
hour1=0;
hour2=0;
minutes=0;
min1=0;
min2=0;
seconds=0;
sec1=0;
sec2=0;
}
}
return 0;
}
编译测试都没问题.
就是wrong answer!
ac了.少了个
hours=0;
hour1=0;
hour2=0;
hour=0;
minutes=0;
min1=0;
min2=0;
min=0;
seconds=0;
sec1=0;
sec2=0;
sec=0;
1个回答 分类:综合 2014-10-10

问题解答:

我来补答
  #include<stdio.h>
  int main(){
  long a[3],b[3],t[3]={0};
  long nCase,i,j;
  scanf("%ld",&nCase);
  for(i=0;i<nCase;i++){
  for(j=0;j<3;j++)
  scanf("%ld",&a[j]);
  for(j=0;j<3;j++)
  scanf("%ld",&b[j]);
  for(j=0;j<3;j++)
  t[j]=a[j]+b[j];
  if(t[2]>=60){
  t[1]++;
  t[2]-=60;
  }
  if(t[1]>=60){
  t[0]++;
  t[1]-=60;
  }
  for(j=0;j<3;j++)
  if(j==2)
  printf("%ld\n",t[j]);
  else
  printf("%ld ",t[j]);

  }
  return 0;
  }

 
 
展开全文阅读
剩余:2000