아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

반 고흐의 작업 일정표

시간 제한1초메모리 제한64 MB

요약
도착 순서대로 그림 작업을 처리하며 0시부터 23시까지 도착, 시작, 종료 시각을 출력합니다.
난이도

쉬움10점 중 2점

유형
시뮬레이션, 큐
정답자
아직 제출이 없습니다

문제

반 고흐는 손님에게 그림을 그려 주는 일을 한다. 손님은 찾아온 순서대로 서비스를 받는다. 처음에는 맡은 일이 없고, 반 고흐는 t=0t = 0에 일을 시작한다.

손님이 찾아오면 반 고흐는 세 값을 적어 둔다. 손님 번호 CC, 다음 손님이 찾아올 때까지 걸리는 시간 II, 그 그림을 그리는 데 드는 시간 SS이다. 각 테스트 케이스의 첫 손님은 t=0t = 0에 찾아오고, 그다음 손님의 도착 시각은 앞 손님의 도착 시각에 앞 손님이 적어 둔 II를 더한 값이다. II가 00이면 그 뒤로는 손님이 오지 않는다.

반 고흐는 한 번에 그림 한 장만 그린다. 그리던 그림을 끝내야 다음 그림을 시작하고, 그림은 손님이 찾아온 순서대로 그린다. 그래서 각 그림은 손님의 도착 시각과 앞 그림이 끝난 시각 중 더 늦은 쪽에서 시작하고, SS시간 뒤에 끝난다.

00시부터 2323시까지 2424시간 동안의 작업 일정표를 출력하는 프로그램을 작성하라.

입력

첫 줄에 테스트 케이스의 수 nn이 주어진다 (1≤n≤201 \le n \le 20).

각 테스트 케이스는 여러 줄로 이루어진다. 한 줄에는 정수 세 개 CC, II, SS가 공백으로 구분되어 주어진다. CC는 손님 번호 (1≤C≤1001 \le C \le 100), II는 다음 손님이 찾아올 때까지 걸리는 시간 (1≤I≤241 \le I \le 24), SS는 그 손님의 그림을 그리는 데 드는 시간 (1≤S≤101 \le S \le 10)이다. 마지막 손님의 줄에서는 II가 00이다. 테스트 케이스는 C=I=S=0C = I = S = 0인 줄로 끝난다. 테스트 케이스마다 손님이 한 명 이상 있다.

출력

테스트 케이스마다 00시부터 2323시까지 2424개 줄을 출력한다. 한 줄에는 값 네 개를 구분 기호 없이 이어 붙여 출력한다. 순서대로 시각, 그 시각에 찾아온 손님의 번호, 반 고흐가 그 시각에 그리기 시작한 그림의 손님 번호, 그 시각에 그림이 끝난 손님의 번호이다. 해당하는 일이 없는 자리에는 -를 출력한다. 2424시 이후에 일어나는 도착, 시작, 종료는 일정표에 나타나지 않는다.

테스트 케이스 사이에는 빈 줄을 하나 출력한다.

예제2

  1. 예제 1

    입력
    2
    1 1 1
    2 1 1
    3 0 1
    0 0 0
    1 2 1
    2 1 3
    3 3 6
    4 1 2
    5 1 1
    6 4 1
    7 2 4
    8 5 2
    9 1 5
    10 0 1
    0 0 0
    
    예상 출력
    011-
    1221
    2332
    3--3
    4---
    5---
    6---
    7---
    8---
    9---
    10---
    11---
    12---
    13---
    14---
    15---
    16---
    17---
    18---
    19---
    20---
    21---
    22---
    23---
    
    011-
    1--1
    222-
    33--
    4---
    5-32
    64--
    75--
    86--
    9---
    10---
    11-43
    127--
    13-54
    14865
    15-76
    16---
    17---
    18---
    19987
    2010--
    21-98
    22---
    23---
    
  2. 예제 2

    입력
    1
    7 0 1
    0 0 0
    
    예상 출력
    077-
    1--7
    2---
    3---
    4---
    5---
    6---
    7---
    8---
    9---
    10---
    11---
    12---
    13---
    14---
    15---
    16---
    17---
    18---
    19---
    20---
    21---
    22---
    23---