※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※

 

이번에 볼 문제는 백준 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";
}
728x90

'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

+ Recent posts