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 |
...想明白了你会发现很简单。。。看讨论的人比较多,,我也来说说,,呵呵1,时间为负数的不用管,直接去掉,因为如果你可以追得上他(A),那么说明你的速度比他快,那么你不会去跟他(A)走的,如果追不上,那更加不用说 2,找一个达到时间最少的,输出这个答案就行了,,因为用时最少那么他一定会追上你,你一定会最后跟着他走,他到达的时间也就是你达到的最少时间了(这里的t=s/v+t0) 3,精度问题,比如得到1.1,你就应该输出2,那么就是if(aa-(int)aa>0.0)的问题了 #include<iostream> #include<cmath> int main() { int n,i,v,t,tt,ans=INT_MAX; while(scanf("%d",&n)!=EOF,n) { int j=0; for(i=0;i<n;i++) { scanf("%d%d",&v,&t); if(t>=0) { double aa=(4500.0/(v*10.0/36.0)); if(aa-(int)aa>0.0)aa++; tt=aa+t; if(tt<ans)ans=tt;} } printf("%d\n",ans); ans=INT_MAX; } return 0; } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator