美文网首页
Lutece Problem 3-Bilibili, Acfun

Lutece Problem 3-Bilibili, Acfun

作者: 小菜变大菜 | 来源:发表于2019-12-12 10:13 被阅读0次

题目

输入观看视频的播放速度,缓冲速度,播放前等待时间和视频总时长,当播放到还未被缓存的地方,将从头开始播放(真烦人。。)题目链接

思路

输入输出样例

画出两条直线的函数图就很清晰了


代码

#include <iostream>
#include <iomanip>

using namespace std;

int main()
{
    int cs; cin >> cs;
    for(int T=1; T<=cs;T++){
        bool flag=1;
        float pl, dl, wt, s,t=0;
        cin >> pl >> dl >> wt >> s;
        float x,y,x0=wt;
        if(pl<=dl){ //播放速度比缓存速度慢
            cout << "Case #"<< T <<": "<< fixed<<setprecision(3)<<s/pl;
            if(T<cs) cout << "\n";
            continue;
        }
        while(flag){
            x = pl*x0/(pl-dl); //播放与缓存相交的地方
            y = x*dl;
            if(y>=s) {
                flag=0;
                t+=s/pl;
            }
            else {
                x0 = x; t = x-wt;
            }
        }
        if(!flag) cout << "Case #"<<T<<": "<< fixed<< setprecision(3)<<t;
        if(T<cs) cout << "\n";
    }
    return 0;
}
结果输出

相关文章

网友评论

      本文标题:Lutece Problem 3-Bilibili, Acfun

      本文链接:https://www.haomeiwen.com/subject/itmzgctx.html