반응형
https://www.acmicpc.net/problem/20867
번역이 어려웠던 구현 문제였습니다.
📕 풀이방법
📔 입력 및 초기화
1. 에스컬레이터 계단 개수m, 서서 갈 때 초당 지나치는 계단 개수s, 걸어서 올라갈 때 초당 지나치는 계단 개수g, 걸어 올라갈 때 속도l, 서서 올라갈 때 속도 r, 왼쪽열 대기인원 a, 우측열 대기인원 b를 선언 후 입력해줍니다.
2. 걸어 올라갈 때 도착까지 걸리는 시간초ls, 서서 올라갈 때 도착까지 걸리는 시간초rs, 왼쪽열에 타려면 기다려야하는 시간초lwait, 우측열에 타려면 기다려야하는 시간초rwait를 선언해줍니다.
📔 풀이과정
다음 공식들이 성립합니다.
1. lwait = 걸어올라갈 때 속도 / 왼쪽열 대기인원 2. rwait = 서서올라갈 때 속도 / 우측열 대기인원 3. ls = 계단 개수 / 걸어 올라갈 때 초당 지나치는 계단 개수 4. rs = 계단 개수 / 서서 올라갈 때 초당 지나치는 계단 개수속도가 더 빠른 것이 금방 올라가는 법입니다하지만 그 중 더 오래걸리는 대기열은 선택하면 안됩니다.
📔 정답출력
조건에 맞게 출력해줍니다.
📕 Code
#include <bits/stdc++.h>
using namespace std;
int m, s, g, l, r;
double a, b;
int ls, rs, lwait, rwait;
int main(){
cin >> m >> s >> g >> a >> b >> l >> r;
lwait = l / a, rwait = r / b;
ls = m % g ? m / g + 1 : m / g;
rs = m % s ? m / s + 1 : m / s;
if(ls < rs) {
if(ls + lwait < rs + rwait) cout << "friskus";
else cout << "latmask";
}
else {
if(ls + lwait < rs + rwait) cout << "friskus";
else cout << "latmask";
}
}
'Algorithm > Implementation' 카테고리의 다른 글
(C++) - 백준(BOJ) 5101 : Sequences (0) | 2021.12.12 |
---|---|
(C++) - 백준(BOJ) 5074 : When Do We Finish? (0) | 2021.12.11 |
(C++) - 백준(BOJ) 4922 : Walk Like an Egyptian (0) | 2021.12.09 |
(C++) - 백준(BOJ) 4892 : 숫자 맞추기 게임 (0) | 2021.12.08 |
(C++) - 백준(BOJ) 4909 : Judging Olympia (0) | 2021.12.08 |