페리탑승 > 문제은행



문제은행

1185 : 페리탑승

제한시간: 1000 ms    메모리제한: 128 MB
해결횟수: 2 회    시도횟수: 4 회   



강이나 호수 또는 바다를 통해서 자동차를 운반할 때는 페리를 사용한다. 일반적으로 페리에는 배 전체 길이에 걸쳐서 두 줄로 차를 실을 수 있다. 차들은 한 쪽 방향으로 배에 오르고, 그 배가 목적지에 도착하면 반대편으로 내린다.

 

페리에 오르기 전에는 차들이 한 줄로 대기하며, 탑승시에는 담당자의 지시에 따라 좌현(port) 또는 우현(starboard)으로 올라간다. 이렇게 해야 왼쪽과 오른쪽의 균형을 맞출 수 있기 때문이다. 줄지어 대기중인 차들은 길이가 모두 다른데, 줄에서 대기중인 동안 담당자가 차의 길이를 검사한다.

 

이 검사 결과를 바탕으로 각 차를 어느 쪽으로 탑승시켜야 할지를 결정하는데, 페리의 길이 제한 내서 최대한 여러대를 탑승시켜야 한다. 그리고 좌현과 우현에 탑승하는 차의 길이 합이 최대한 비슷해야 한다.

 

담당자에게 최대한 여러대를 탑승시키기 위한 선적 방법을 알려줄 수 있는 프로그램을 만들자.




입력의 첫 번째 줄에는 1 이상 100 이하의 정수가 입력되는데, 이는 페리의 길이(미터 단위)를 나타낸다. 줄에 서 있는 각 차량마다 한 줄씩 차의 길이가 센티미터 단위로 입력되는데, 이 정수는 최소 100, 최대 3,000 이다. 마지막 줄에는 0 이 입력된다. 모든 차는 순서대로 선적해야 하는데, 이때 차 길이의 총합이 페리의 길이보다 길지 않다는 조건이 만족되어야 한다. 첫 번째 차에서 시작해서 더 이상 선적 할 수 없게 될 때까지 차를 페리에 싣는데, 최대한 차를 많이 실을 수 있어야 한다.




출력의 첫 번째 줄에는 페리에 선적할 수 있는 차량 수를 출력한다. 페리에 선적할 수 있는 각 차에 대해, 좌현(왼쪽)에 선적해야 하는 차에 대해서는 "port"라고 출력하고, 우현(오른쪽)에 선적해야 하는 차에 대해서는 "starboard"라고 출력한다. 여러 방식으로 선적할 수 있으면 그 중 아무 결과나 출력하면 된다.



50
2500
3000
1000
1000
1500
700
800
0
6
port
starboard
starboard
port
port
starboard






HancomEducation E-mail : hancomc@hotmail.com, comkiwer@naver.com Tel : 070-7163-5782 FAX : 031-388-0996 정올소개 이용약관 개인정보처리방침
경기도 안양시 동안구 호계동 1065-10 협성골드프라자 601호, 경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호
Copyright@2010-2015 jungol. All right reserved.