※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 20867번 문제인 Rulltrappa이다.
문제는 아래 링크를 확인하자.
https://www.acmicpc.net/problem/20867
20867번: Rulltrappa
I exempel 1 är båda köer tomma, så Paulina kan omedelbart börja gå upp längs rulltrappan. Om hon står stilla i rulltrappan färdas hon med 1 trappsteg per sekund, så det tar $\frac{50}{1} = 50$ sekunder. Om hon istället går upp i rulltrappan fä
www.acmicpc.net
에스컬레이터를 이용하는 시간은 걸어올라갈 때 (실수연산) M/G, 그냥 타고 올라갈 때 (실수연산) M/S이다.
또한, 에스컬레이터를 타기 위해 대기해야하는 시간은 걸어올라갈 때 (1/A)*L, 그냥 타고 올라갈 때 (1/B)*R이다.
위 둘을 이용하여 에스컬레이터를 걸어올라갈 때 필요한 시간과 그냥 타고 올라갈 때 필요한 시간을 구하고, 둘을 비교해 문제를 해결하자.
문제에서 두 방식의 소요시간은 최소 1초는 차이가 나는 것이 보장되므로, 실수오차에 크게 신경쓰지 않고 구현해도 충분하다.
아래는 제출한 소스코드이다.
#include <iostream>
using namespace std;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
int M, S, G; cin >> M >> S >> G;
double A, B; cin >> A >> B;
int L, R; cin >> L >> R;
double friskus = (1 / A) * L + (double)M / (double)G;
double latmask = (1 / B) * R + (double)M / (double)S;
if (friskus < latmask) cout << "friskus";
else cout << "latmask";
}
'BOJ' 카테고리의 다른 글
[BOJ 7562 // C++] 나이트의 이동 (0) | 2022.05.08 |
---|---|
[BOJ 24389 // C++] 2의 보수 (1) | 2022.05.08 |
[BOJ 14940 // C++] 쉬운 최단거리 (0) | 2022.05.08 |
[BOJ 24807 // C++] Math Homework (0) | 2022.05.08 |
[BOJ 6032 // C++] Toy Shopping (0) | 2022.05.08 |