POJ 1922 Ride to School【解題報告|貪心|規律】

題目鏈接

題目大意

起點與終點相隔4500米。現Charley 需要從起點騎車到終點。但是,他有個習慣,沿途需要有人陪伴,即以相同的速度, 與另外一個人一起騎。而當他遇到以更快的速度騎車的人時,他會以相應的速度跟上這個更快的人。先給定所有與Charley 同 路的人各自的速度與出發時間,問Charley 以這種方式跟人,騎完4500米需要多少時間。得出的結果若是小數,則向上取整。

思路分析

每次Charley選擇的都是當前最快的單車,而且Charley最後一定是和那個最快到達Yanyuan的單車同時到達,因爲最早到達的人,一定會趕上查理,而查理就會跟上他一起到達。即查理一定是最先到終點的那個人,那麼我們只需要在所有人之中找到最早到達的那個的用時,就是查理的用時了。

#include <iostream>
#include <string.h>
#include <stdio.h>
#include <math.h>
#include <algorithm>

using namespace std;
const int INF=0x3f3f3f3f;
int n;
double ans;
int main()
{
    int v,t;
    double time;
    while(scanf("%d",&n),n){
        ans=INF;
        for(int i=1;i<=n;i++){
            scanf("%d%d",&v,&t);
            if(t<0)
                continue;
            time=t+4.5/v*3600;
            ans=min(time,ans);
            //if(ans>time)
               // ans=time;
        }
        int res=ceil(ans);
        printf("%d\n",res);
    }
    return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章