회사에는 개의 회의실이 있다. 수많은 팀이 모여 토론하고 업무를 처리하기 위해서는 회의실이 필수적이다.
내부망에 아주 간단한 회의실 예약 시스템이 있지만 편의성이 매우 떨어진다. 단순히 예약된 회의의 목록만 표시되기 때문에, 방 별로 비어 있는 시간이 언제인지를 확인하기가 힘든 것이다. 당신은 이를 직접 해결해 보기로 마음 먹었다.
회의실 이용 규칙은 다음과 같다:
이미 예약된 개의 회의에 대한 정보가 주어지면, 회의실별로 비어 있는 시간대를 정리해 출력하는 프로그램을 작성해 보자. 구체적인 형식은 아래의 <출력>을 참고하시오.
첫째 줄에 회의실의 수와 예약된 회의의 수를 나타내는 정수 과 이 공백을 사이에 두고 주어진다.
이어 개의 줄에는 각 회의실의 이름이 주어진다.
이어 개의 줄에는 각 회의가 배정된 회의실의 이름 과 시작 시각 , 그리고 종료 시각 가 공백을 사이에 두고 주어진다.
각 회의실에 대한 정보를 회의실 이름의 오름차순으로 출력한다. 각 회의실에 대한 정보는 다음과 같다.
첫째 줄에는 Room {회의실 이름}: (중괄호 제외)을 출력한다. 만일 이 회의실에 예약 가능한 시간이 없다면, 둘째 줄에 Not available을 출력한다. 그렇지 않은 경우, 예약 가능한 시간대의 개수를 n이라고 할 때, 둘째 줄에 {n} available:을 출력하고, 뒤따른 n개의 줄에 예약 가능한 시간대를 {09}-{18} 형태로 출력해야 한다. 한 자리 수의 경우 앞에 0을 붙여 두 자리 수로 만들어야 함에 유의하라.
각 회의실에 대한 정보 사이에는 ----- (하이픈 다섯 개)로 구분선이 출력되어야 한다.
| 번호 | 배점 | 제한 |
|---|---|---|
| 1 | 30 | |
| 2 | 70 | 다른 제약 조건이 없다. |
3 7 grandeur avante sonata sonata 14 16 grandeur 11 12 avante 15 18 sonata 10 11 avante 9 12 grandeur 16 18 avante 12 15
Room avante: Not available ----- Room grandeur: 2 available: 09-11 12-16 ----- Room sonata: 3 available: 09-10 11-14 16-18
3 2 santafe aerocity porter santafe 9 12 porter 9 18
Room aerocity: 1 available: 09-18 ----- Room porter: Not available ----- Room santafe: 1 available: 12-18