Codeforces Round #386 (Div. 2) C. Tram 数学、讨论

ProLightsfx 2017-7-19 152 7/19
C. Tram 数学、讨论

My Solution

题意:从x1 出发到 x2,走路速度是t2 s/ 单位长度 ,坐车是t1 s/ 单位长度,车子在0~s间不断往返,此时车在p位置,且方向是d,(正向 d == 1,反向 d == -1) 问从x1到x2的最短时间

 

数学、讨论

此外题可以分成2大类,到达的时候是走路的则只考虑全走路,如果到达的时候是坐车则只考虑坐车,

即x1到达x2所花的时间为此时p位置到最后以x1指向x2的方向经过x2时的总时间。

具体分成如下6类讨论

当 x1 < x2 时

ans = (x2 - x1) * t2;

if(d == 1){

if(p <= x1){                //p 在 x1、 x2 左边边

ans = min(ans, (x2 - p) * t1);

}

else{

ans = min(ans, (s + x2 + s - p) * t1);

}

}

else{

ans = min(ans, (p + x2) * t1);

}

当 x1 > x2 时

ans = (x1 - x2) * t2;

if(d == 1){

ans = min(ans, (s - p + s - x2) * t1); //

}

else{

if(p >= x1){                //p 在 x1、 x2 右边

ans = min(ans, (p - x2) * t1);

}

else{

ans = min(ans, (p + s + s - x2) * t1);

}

}

 

#include 
#include 

using namespace std;
typedef long long LL;
const int maxn = 1e6 + 8;


int main()
{
    #ifdef LOCAL
    freopen("c.txt", "r", stdin);
    //freopen("c.out", "w", stdout);
    int T = 4;
    while(T--){
    #endif // LOCAL
    ios::sync_with_stdio(false); cin.tie(0);

    LL s, x1, x2, t1, t2, p, d, ans = 9e18;
    cin >> s >> x1 >> x2;
    cin >> t1 >> t2;
    cin >> p >> d;
    if(x1 < x2){
        ans = (x2 - x1) * t2;
        if(d == 1){
            if(p <= x1){ ans = min(ans, (x2 - p) * t1); } else{ ans = min(ans, (s + x2 + s - p) * t1); } } else{ ans = min(ans, (p + x2) * t1); } } else{ ans = (x1 - x2) * t2; if(d == 1){ ans = min(ans, (s - p + s - x2) * t1); //(©Ð£ß©Ð) } else{ if(p >= x1){
                ans = min(ans, (p - x2) * t1);
            }
            else{
                ans = min(ans, (p + s + s - x2) * t1);
            }
        }
    }

    cout << ans << endl;

    #ifdef LOCAL
    cout << endl;
    }
    #endif ** LOCAL
    return 0;
}

 

非特殊说明,本博所有文章均为博主原创,未经许可不得转载。

https://www.prolightsfxjh.com/

Thank you!

                                                                                                                                             ------from ProLightsfx

- THE END -

ProLightsfx

11月17日01:31

最后修改:2024年11月17日
0

非特殊说明,本博所有文章均为博主原创,未经许可不得转载。

共有 0 条评论