[题解]Mail.Ru Cup 2018 Round 1 - A. Elevator or Stairs?
Posted cqbzoier-zyy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[题解]Mail.Ru Cup 2018 Round 1 - A. Elevator or Stairs?相关的知识,希望对你有一定的参考价值。
【题目】
【描述】
Masha要从第x层楼去第y层楼找Egor,可以选择爬楼梯或者坐直升电梯。已知爬楼梯每层需要时间t1;坐直升电梯每层需要时间t2,直升电梯开门或者关门一次需要时间t3,当前直升电梯在第z层楼,直升电梯门是在关闭状态的。如果爬楼梯总时间严格小于坐直升电梯,则选择爬楼梯并输出YES,否则选择坐直升电梯并输出NO。
数据范围:1<=x,y,z,t1,t2,t3<=1000
【思路】
爬楼梯总时长:t1*abs(x-y)
坐直升电梯总时长:t2*(abs(x-z)+abs(x-y))+t3*3
注意:直升电梯门需要开关一共三次
【我的实现】
1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <cmath> 5 #include <algorithm> 6 7 using namespace std; 8 9 inline int My_abs(int x) 10 { 11 return x < 0 ? -x : x; 12 } 13 14 int main() 15 { 16 int x, y, z, t1, t2, t3; 17 int a, b; 18 scanf("%d%d%d%d%d%d", &x, &y, &z, &t1, &t2, &t3); 19 a = t1 * My_abs(y-x); 20 b = t2 * (My_abs(x-z) + My_abs(x-y)) + 3 * t3; 21 //cout << a << ‘ ‘ << b <<endl; 22 if(b <= a) 23 printf("YES"); 24 else 25 printf("NO"); 26 return 0; 27 }
【评测结果】
以上是关于[题解]Mail.Ru Cup 2018 Round 1 - A. Elevator or Stairs?的主要内容,如果未能解决你的问题,请参考以下文章
Mail.Ru Cup 2018 Round 3 Solution
Mail.Ru Cup 2018 Round 2 B. Alice and Hairdresser
[codeforces Mail.Ru Cup 2018 Round 1 D][ xor 操作]
Codeforces Round #505 (rated, Div. 1 + Div. 2, based on VK Cup 2018 Final) 题解
Codeforces Round #504 (rated, Div. 1 + Div. 2, based on VK Cup 2018 Final)
Codeforces Round #504 (rated, Div. 1 + Div. 2, based on VK Cup 2018 Final)