poj1922

来源:互联网 发布:零点市场调查知乎 编辑:程序博客网 时间:2024/05/16 07:44

贪心啦~\(≧▽≦)/~

题意:一个人骑车去学校,一直在跟别人走,如果没有车来,他就等着,有车来就跟,如果出现了比现在快的车车就跟快的那辆车车,求到达目的地的时间。

思路做法:时间为负的肯定已经先走啦,就可以不用考虑了,即使碰上了也是速度比现在的速度慢的啊。

然后就看时间为正的,然后找到速度最大的,一直跟着走就是了。

所以就是T=s/v+t(等待时间);

AC代码:

#include <cstdio>#include <cstring>#include <math.h>using namespace std;const int maxn=10010;int vi;int start;int n;double time,mintime;int main(){    while(scanf("%d",&n),n)    {        mintime=3600*4.5;        while(n--)        {            scanf("%d%d",&vi,&start);            if(start<0)                continue;            time=4.5/vi*3600+start;            if(time<mintime)                mintime=time;        }        int result=(int)ceil(mintime);       printf("%d\n",result);    }}


0 0