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

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

기말고사 겹침!

면접 대비

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

요약
각 과목의 시험 요일과 시간대, 그리고 각 학생이 수강하는 과목 목록이 주어질 때, 두 개 이상의 시험이 겹치는 학생 수를 센다.
난이도

보통10점 중 5점

유형
구현, 정렬, 배열, 문자열
정답자
아직 제출이 없습니다

문제

기말고사 기간에 종종 발생하는 문제 중 하나는, 한 학생이 서로 다른 여러 과목의 기말고사를 같은 시간에 치러야 하는 상황이다. 어떤 학생은 한 과목 시험을 한 시간 일찍 제출하고 그 시간에 다른 시험을 보는 식으로 감당할 수도 있지만, 대부분의 학생에게는 불가능하다.

이런 충돌은 미리, 그리고 자동으로 감지할 수 있다. 각 과목의 기본 시험 시간은 사전에 공지되고, 각 학생이 수강하는 과목도 미리 알 수 있기 때문이다. 앞으로 충돌 통계를 수집할 수 있도록, 기말고사 시간이 겹치는 학생이 몇 명인지 세는 작은 도구를 작성하라.

입력

첫 줄에 데이터 집합의 개수 K≥1K \ge 1 이 주어진다. 이어서 KK 개의 데이터 집합이 다음 형식으로 주어진다.

각 데이터 집합의 첫 줄에는 두 정수 mm, nn (1≤m,n≤10001 \le m, n \le 1000) 이 주어진다. mm 은 개설된 과목 수, nn 은 학생 수이다.

이어서 mm 개의 줄에 각 과목의 이름과 기말고사의 요일, 시간이 주어진다. 과목 이름은 대문자 4글자(예: CSCI) 뒤에 숫자 3자리(예: 402)가 붙은 문자열이다. 요일은 대문자로 M, T, W, TH, F 중 하나로 표기한다. 시험 시간은 hh:mm-hh:mm 형식으로 시작 시각과 종료 시각을 나타내며, 시 hh 는 00부터 23, 분 mm 은 00부터 59 사이이다. 모든 기말고사는 시작한 날에 끝난다. 각 항목은 공백 한 칸으로 구분된다.

이어서 nn 개의 줄에 각 학생이 수강하는 과목 목록이 주어진다. 통계만 필요하므로 학생의 이름은 다루지 않는다. 각 학생은 한 줄에 자신이 수강하는 과목 식별자 1개에서 10개를, 공백 한 칸으로 구분하여 나열한다.

출력

각 데이터 집합에 대해, 먼저 Data Set x: 를 한 줄에 출력한다. 여기서 xx 는 데이터 집합의 번호이다. 그다음 줄에, 두 개 이상의 기말고사 시간이 서로 겹치는 학생의 총 수를 출력한다. 한 시험이 끝나는 시각과 다른 시험이 시작하는 시각이 정확히 같은 경우는 겹침으로 세지 않는다.

예제3

  1. 예제 1

    입력
    1
    5 3
    CSCI402 T 11:00-13:00
    CSCI201 F 14:00-16:00
    DENT221 T 12:30-14:30
    AHIS364 TH 17:00-18:42
    ANTH472 F 12:30-14:00
    CSCI201 CSCI402 AHIS364
    CSCI402 DENT221 ANTH472 AHIS364
    ANTH472 CSCI201
    
    예상 출력
    Data Set 1:
    1
    
  2. 예제 2

    입력
    1
    2 1
    AAAA100 M 09:00-10:00
    BBBB200 M 10:00-11:00
    AAAA100 BBBB200
    
    예상 출력
    Data Set 1:
    0
    
  3. 예제 3

    입력
    1
    2 1
    AAAA100 M 09:00-10:30
    BBBB200 M 10:00-11:00
    AAAA100 BBBB200
    
    예상 출력
    Data Set 1:
    1