#include <stdio.h> #include <iostream> #include <algorithm> #include <queue> using namespace std; typedef struct node { int D; int R; int G; }node; int N, L; node inform[110]; int dist; int time; int main(void) { // freopen("B2980_input.txt", "r", stdin); cin >> N >> L; for(int i = 1; i <= N; i++) { int D, R, G; cin >> D >> R >> G; inform[i].D = D; inform[i].R = R; inform[i].G = G; } int idx = 1; while(dist != L) { if(dist == inform[idx].D) { // 빨간불 + 초록불의 신호등 주기를 통한 나머지 계산을 통해 결과 도출 // 빨간불이면 끝날때까지 계속 기다려야됨 while(0 <= time % (inform[idx].R+inform[idx].G) && time % (inform[idx].R+inform[idx].G) < inform[idx].R) { time++; } // 빨간불 끝나마자마자 초록불 -> 갈 수 있음 // if(inform[idx].R <= time % (inform[idx].R+inform[idx].G) && time % (inform[idx].R+inform[idx].G) < inform[idx].R+inform[idx].G) // { dist++; time++; // } // 신호등 인덱스 증가 idx++; } else { dist++; time++; } } cout << time; return 0; } | cs |
'Baekjoon > Simulation' 카테고리의 다른 글
[백준 5532] 방학숙제 (Simulation) (C/C++) (0) | 2020.03.25 |
---|---|
[백준 3190] 뱀 (Simulation, Deque) (C/C++) (★★★) (0) | 2020.03.25 |
[백준 2164] 카드 2 (Simulation) (C/C++) (0) | 2020.03.25 |
[백준 1986] 체스 (Simulation) (C/C++) (★) (0) | 2020.03.25 |
[백준 1063] 킹 (Simulation) (C/C++) (0) | 2020.03.24 |