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

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

셔틀버스

면접 대비

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

요약
편도 이동 시간이 주어질 때 학교와 터미널 사이 정해진 모든 운행을 소화하는 데 필요한 최소 버스 대수를 구합니다.
난이도

보통10점 중 5점

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

문제

효성이의 학교는 멀리서 통학하는 학생을 위해 학교와 터미널 사이를 오가는 셔틀버스를 운행하기로 했다. 운행 스케줄은 학생들의 의견을 그대로 따르기로 했다. 스케줄이 주어질 때 이 스케줄을 모두 소화하려면 버스가 최소 몇 대 필요한지 구하는 프로그램을 작성하시오.

한 번 오가는 데 걸리는 시간은 어느 방향이든 DD분이다. 승객이 타고 내리는 시간은 고려하지 않으므로, 시각 tt에 어떤 장소에 도착한 버스는 그 장소에서 시각 tt에 출발하는 운행을 이어서 맡을 수 있다. 하루가 시작될 때 각 버스는 학교와 터미널 중 어디에 두어도 된다.

입력

첫 줄에 테스트 케이스의 개수 TT (1≤T≤101 \le T \le 10)가 주어진다.

각 테스트 케이스의 첫 줄에는 학교와 터미널 사이를 오가는 데 걸리는 시간 DD (1≤D≤1201 \le D \le 120)가 분 단위로 주어진다. 다음 줄에는 학교에서 터미널로 출발하는 운행의 수 AA (1≤A≤201 \le A \le 20)가 주어지고, 이어지는 AA개의 줄에 출발 시각이 HH:MM 형식으로 시간 순서대로 하나씩 주어진다. 그다음 줄에는 터미널에서 학교로 출발하는 운행의 수 BB (1≤B≤201 \le B \le 20)가 주어지고, 이어지는 BB개의 줄에 출발 시각이 HH:MM 형식으로 시간 순서대로 하나씩 주어진다.

모든 시각은 06:00부터 21:00 사이이고, HH와 MM은 항상 두 자리로 주어진다. 한 자리 수는 앞에 0을 붙인다. 같은 장소에서 같은 시각에 출발하는 운행이 여러 개면 각각 다른 버스가 맡아야 한다.

출력

각 테스트 케이스마다 스케줄대로 모두 운행하는 데 필요한 버스의 최소 개수를 한 줄에 하나씩 출력한다.

예제1

  1. 예제 1

    입력
    3
    30
    1
    08:00
    2
    08:00
    08:00
    15
    2
    08:00
    12:00
    1
    08:45
    90
    5
    07:00
    11:00
    12:00
    17:00
    21:00
    4
    06:00
    11:00
    15:00
    20:00
    
    예상 출력
    3
    1
    3