Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
请HAWK来看看这是为什么我写了程序但是WRONG ANSWER 找了半天错误都没有找到 直到我请教了别人,看了他们的代码 然后改掉了一个地方 我把本题的速度加了判断条件 (var<40)&&(var>0) 这是因为题目中写着: Vi is a positive integer less than 40 可是这样是WRONG ANSWER 而我把<40改成<=40就对了 而且任何判断条件都不加也是对的 不明白为什么会这样 请HAWK给个解释 谢谢~~ 附:更改前后的代码 更改前:WRONG ANSWER: #include "stdio.h" #include "math.h" void main() { int number,i,var,start,sign; double time,min; scanf ("%d",&number); while (number) { sign=1; for (i=0;i<number;i++) { scanf("%d%d",&var,&start); if ((start>=0)&&(var<40)&&(var>0)) { time=16200/(double)var+start; // printf("%f",time); if (sign) { min=time; sign=0; // printf("%f",min); } } min=time<min?time:min; } printf("%d\n",(int)ceil(min)); scanf ("%d",&number); } } 更改后:ACCEPTED #include "stdio.h" #include "math.h" void main() { int number,i,var,start,sign; double time,min; scanf ("%d",&number); while (number) { sign=1; for (i=0;i<number;i++) { scanf("%d%d",&var,&start); if ((start>=0)&&(var<=40)&&(var>=0)) { time=16200/(double)var+start; // printf("%f",time); if (sign) { min=time; sign=0; // printf("%f",min); } } min=time<min?time:min; } printf("%d\n",(int)ceil(min)); scanf ("%d",&number); } } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator