본문 바로가기

algorithm

13335 트럭

트럭

 

13335번: 트럭

입력 데이터는 표준입력을 사용한다. 입력은 두 줄로 이루어진다. 입력의 첫 번째 줄에는 세 개의 정수 n (1 ≤ n ≤ 1,000) , w (1 ≤ w ≤ 100) and L (10 ≤ L ≤ 1,000)이 주어지는데, n은 다리를 건너는 트

www.acmicpc.net

문제 : 

트럭이 차례대로 다리에 오를 때, 다리가 버틸 수 있는 하중을 고려하여 트럭이 모두 다리를 건너는 시간을 구하시오. 다리 한 단위를 가는 데 걸리는 시간은 1 단위이다.

 

풀이 : 

시뮬레이션을 통해 시간을 1씩 늘려가면서 구할 수 있다.

각각의 트럭이 다리에 올라가는 시간과 트럭이 다리에서 내려가는 시간( = 올라가는 시간 + 다리의 길이)만을 알 수 있다면, 시뮬레이션 하지 않고 O(n)의 시간에 해결할 수 있다.

트럭이 앞 쪽에서 나가거나 뒤에서 들어오기 때문에 이와 유사한 구조를 가진 queue 자료 구조를 사용하면 편리하다.

 

1. 맨 앞 트럭이 내려갈 시간이 된 경우 -> 맨 앞의 트럭을 다리에서 내리게 한다

2. 현재 보고 있는 트럭이 다리에 올라갈 수 있는 경우 (모든 트럭의 무게 <= l) -> 다리에 올리고, 내려가는 시간을 설정해준다.

 

코드

 

 

'algorithm' 카테고리의 다른 글

[BOJ] 9938 방청소  (0) 2022.08.05
유클리드 호제법, 모듈로 역원  (0) 2022.08.03
9345 디지털 비디오 디스크  (0) 2022.07.20
C++ 레퍼런스 (ECHMAScript syntax )구경과 백준 1774  (0) 2022.06.30
가르침  (0) 2022.05.31