• YBT Ride to Office


    题目描述

             起点与终点相隔4500米。现Charley 需要从起点骑车到终点。但是,他有个习惯,沿途需要有人陪伴,即以相同的速度, 与另外一个人一起骑。而当他遇到以更快的速度骑车的人时,他会以相应的速度跟上这个更快的人。先给定所有与Charley 同路的人各自的速度与出发时间,问Charley 以这种方式跟人,骑完4500米需要多少时间。得出的结果若是小数,则向上取整。

    输入格式

            输入若干组数据,每组数据第一行n(1≤n≤10000),n为0,表示输入结束,接着输入n行数据,每行2个数据,表示速度v和出发时间t,如果t<0,表示陪伴人提早出发了。

    输出格式

            输出对应若干行数据,每行输出1个数,表示最快到达的时间。

    输入样例

    4

    20 0

    25 -155

    27 190

    30 240

    2

    21 0

    22 34

    0

    输出样例

    780

    771

    题解

            容易想到,你在中途去跟另一个人,就是就相当于从起点到终点都一直跟那个人,那直接输入后算到达终点的时间,取最小值即可。

            (提醒,这题的$v$单位是$km/h$)

    #include <iostream>
    #include <cstdio>
    #include <cmath>
    
    using namespace std;
    
    int n;
    int t;
    double v;
    int ans;
    
    int main()
    {
        int tmp;
        while(scanf("%d", &n) && n)
        {
            ans = 0x7f7f7f7f;
            while(n--)
            {
                scanf("%lf%d", &v, &t);
                if(t < 0) continue;
                ans = min(ans, (int)ceil(4500.0 / (v / 3.6)) + t);
            }
            cout << ans << "
    ";
        }
        return 0;
    }
    参考程序
  • 相关阅读:
    博客作业03--栈和队列
    博客作业02---线性表
    博客作业01-抽象数据类型
    C语言最后一次作业--总结报告
    C语言博客作业--函数嵌套调用
    java课程设计——2048
    博客作业06--图
    博客作业05--查找
    博客作业04--树
    博客作业03--栈和队列
  • 原文地址:https://www.cnblogs.com/kcn999/p/10925559.html
Copyright © 2020-2023  润新知