代码能通过测试用例但是还是wrong.今晚到此结束,过两天再说。
在刚刚过去的三八节,学校进行了集体跳绳比赛,要计算在一分钟内跳了多少下。假设每秒钟跳一下,如果中途失败了,则要花三秒钟后才能开始重跳。一般每个队一分钟跳绳或多或少要跳坏几次。现在给出每个队每次跳坏时已经跳的总数,求该队在一分钟内跳了多少下。
请注意页面最后的Hint提示。
Input
第一行为n个代表队(0<n<=1000)。
其余各行每行第一个整数是跳坏的次数m(0<=m<10),其余m个整数是跳坏时累计跳了多少下。
Output
输出相应队头一分钟内跳了多少下。
Sample Input
6 0 3 12 23 45 1 17 4 10 20 30 40 5 10 20 30 40 58 6 10 20 30 40 47 60
Sample Output
60 51 57 48 48 47
HINT
在跳绳比赛时,你可能已经超时了,自己还在计数,但裁判已经停止计时并得到成绩了,这里相当与自己计数。因此,并非跳坏的时候都是在前一分钟以内,请注意分析示例数据。
1 #include<stdio.h> 2 void main() 3 { 4 int n; 5 int a[1000]; 6 int b[10]; 7 int c[1000]; 8 scanf("%d",&n); 9 for (int i = 0;i<n;i++) 10 { 11 scanf("%d",&a[i]); 12 int sum = 0,time = 0; 13 for (int j = 0; j < a[i];j++) 14 { 15 scanf("%d",&b[j]); 16 } 17 int w = 0; 18 if(a[i]==0) printf("60"); 19 for (int j = 0; j < a[i];j++) 20 { 21 if (j==0) 22 { 23 time = time + b[j]; 24 time = time + 3; 25 w++; 26 } 27 else 28 { 29 time = time + b[j] - b[j-1]; 30 if (time >= 60) 31 { 32 sum = 60-w*3; 33 printf("%d",sum); 34 break; 35 } 36 else 37 { 38 time = time + 3; 39 w++; 40 if (time>=60) 41 { 42 sum = 60 - (w-1)*3 - ( 63 - time ); 43 printf("%d",sum); 44 break; 45 } 46 } 47 } 48 } 49 if (time<60&&a[i]!=0) 50 {sum = 60 - w*3;printf("%d",sum); 51 } 52 } 53 }
时间: 2024-10-22 16:32:21