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

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

열차 시간표 (Large)

시간 제한5초메모리 제한512 MB

요약
각 열차의 출발과 도착 시각, 그리고 회차 시간이 주어질 때, 시간표를 소화하는 데 A역과 B역에 각각 몇 대의 열차를 배치해야 하는지 구한다.
난이도

보통10점 중 4점

유형
그리디, 정렬, 구간
정답자
아직 제출이 없습니다

문제

어떤 철도 노선에 A역과 B역, 두 역만 있다.

역에 정차한 열차

열차는 하루 동안 A역에서 B역으로, 그리고 B역에서 A역으로 여러 번 운행한다. 열차가 A역에서 B역으로(또는 B역에서 A역으로) 이동해 도착하면, 반대 방향으로 다시 출발하기까지 회차시간이 필요하다. 예를 들어 열차가 12:00에 도착하고 회차시간이 0분이면 그 열차는 12:00에 곧바로 출발할 수 있다.

시간표에는 A역과 B역 사이를 오가는 모든 열차의 출발 시각과 도착 시각이 적혀 있다. 철도회사는 시간표대로 운행하려면 하루가 시작될 때 A역과 B역에 각각 몇 대의 차량을 미리 세워 두어야 하는지 알아야 한다. 어떤 열차가 A역이나 B역을 출발하려면 그 시각에 출발 준비를 마친 차량이 그 역에 있어야 한다. 두 역 사이 선로에는 대피선이 있어서 열차가 출발한 순서대로 도착할 필요는 없다. 시간표에 적힌 열차 외에 다른 열차는 운행하지 않는다.

A역과 B역에 미리 세워 두어야 하는 차량의 최소 개수를 각각 구하라.

입력

첫 줄에 테스트 케이스의 개수 NN이 주어진다.

각 테스트 케이스는 여러 줄로 이루어진다. 첫 줄에는 회차시간 TT가 분 단위로 주어진다. 다음 줄에는 A역에서 B역으로 가는 열차의 수 NAN_A와 B역에서 A역으로 가는 열차의 수 NBN_B가 공백으로 구분되어 주어진다. 이어지는 NAN_A개의 줄에는 A역에서 B역으로 가는 열차의 정보가 한 줄에 하나씩 주어진다.

각 줄에는 출발 시각과 도착 시각이 HH:MM 형식으로 공백을 두고 주어진다. 모든 열차의 출발 시각은 도착 시각보다 이르고, 모든 출발과 도착은 같은 날 안에 일어난다. 시와 분은 모두 두 자리로 쓰며 빈자리는 0으로 채우고, 00:00부터 23:59까지의 24시간제 표기를 쓴다.

NAN_A개의 줄 뒤에는 B역에서 A역으로 가는 열차의 출발 시각과 도착 시각이 같은 형식으로 NBN_B개의 줄에 주어진다.

제한

  • 1≤N≤1001 \le N \le 100
  • 0≤NA,NB≤1000 \le N_A, N_B \le 100
  • 0≤T≤600 \le T \le 60

출력

각 테스트 케이스마다 한 줄에 Case #x: 를 먼저 출력하고, 그 뒤에 A역에 미리 세워 두어야 하는 차량의 수와 B역에 미리 세워 두어야 하는 차량의 수를 공백으로 구분해 출력한다. xx는 1부터 시작하는 테스트 케이스 번호다.

예제7

  1. 예제 1

    입력
    2
    5
    3 2
    09:00 12:00
    10:00 13:00
    11:00 12:30
    12:02 15:00
    09:00 10:30
    2
    2 0
    09:00 09:01
    12:00 12:02
    예상 출력
    Case #1: 2 2
    Case #2: 2 0
    
  2. 예제 2

    입력
    1
    0
    0 0
    예상 출력
    Case #1: 0 0
    
  3. 예제 3

    입력
    1
    0
    2 1
    09:00 10:00
    11:00 12:00
    10:00 11:00
    예상 출력
    Case #1: 1 0
    
  4. 예제 4

    입력
    1
    60
    2 2
    00:00 00:59
    01:59 23:59
    01:00 01:59
    02:00 03:00
    예상 출력
    Case #1: 2 1
    
  5. 예제 5

    입력
    1
    10
    1 3
    06:00 06:30
    05:00 05:30
    05:31 05:40
    07:00 07:10
    예상 출력
    Case #1: 0 2
    
  6. 예제 6

    입력
    4
    0
    1 0
    00:00 23:59
    60
    0 1
    12:00 13:00
    3
    2 2
    08:00 08:30
    09:00 09:30
    08:33 09:00
    09:33 10:00
    0
    0 0
    예상 출력
    Case #1: 1 0
    Case #2: 0 1
    Case #3: 2 0
    Case #4: 0 0
    
  7. 예제 7

    입력
    2
    30
    1 1
    10:00 10:30
    11:00 11:30
    31
    1 1
    10:00 10:30
    11:00 11:30
    예상 출력
    Case #1: 1 0
    Case #2: 1 1