FC와 IC 실습 후보, 교사 간 충돌, 정원 제한, 시간 규칙이 주어질 때, 유효한 실습 집합을 골라 시작 요일 수를 최소로 만든다.
어려움9그래프BFS그리디구현아직 제출이 없습니다시간 제한2초메모리 제한512 MB마제스틱 미식 대학교는 해마다 아주 많은 학생에게 마제스틱 국제 요리 학위를 준다.
모든 학생은 필수 과목 두 개를 듣는다. 프랑스 요리(FC)와 이탈리아 요리(IC)이고, 서로 겹치지 않는 두 교원 집단인 FC 교원과 IC 교원이 각각 맡는다. 두 과목 모두 주 1회 요리 실습으로 열리고 정원이 있다. FC 실습은 KFC명까지, IC 실습은 KIC명까지 받는다. 그래서 매주 FC 실습과 IC 실습이 여러 개 열리고, 실습마다 고유한 주간 시간대와 담당 교원이 정해진다. 성가신 사정이 하나 더 있다. 일부 교원은 교수법을 두고 의견이 갈려 서로 반목한다.
해마다 FC 학과장과 IC 학과장이 주간 실습 후보를 여럿 제안하고, 기획실의 밥이 그 후보 중 일부를 고른다. 모든 학생이 올바른 시간표를 받으려면 다음을 지켜야 한다.
시간대는 한 주 전체를 기준으로 비교한다. 요일 번호가 d이고 h시 m분에 시작하는 실습은 1440(d−1)+60h+m분부터 1440(d−1)+60h+m+60L분까지 이어진다. 여기서 L은 그 과목의 실습 시간이다. 한쪽이 끝난 뒤 5분 이상 지나서 다른 쪽이 시작할 때만 한 학생이 두 실습을 함께 들을 수 있다.
실습을 하나도 맡지 않는 교원이 있을 수 있고, 실습을 여러 개 맡는 교원도 있다.
밥을 도와 요일 수의 최솟값을 구하라.
모든 줄은 공백 하나로 구분한 정수로 이루어진다.
첫째 줄에 등록 학생 수 S가 주어진다.
둘째 줄에 NFC, KFC, DFC, TFC가 주어진다. 각각 FC 실습 후보 수, 모든 FC 실습의 정원, 모든 FC 실습의 진행 시간(시간 단위), FC 교원 수다.
다음 NFC개 줄에 FC 실습 후보가 한 줄에 하나씩 주어진다. 각 줄은 정수 네 개 d, h, m, t로 이루어지고 각각 요일 번호, 시작 시각의 시, 시작 시각의 분, 담당 FC 교원 번호다.
다음 줄에 NIC, KIC, DIC, TIC가 IC에 대해 같은 뜻으로 주어진다.
다음 NIC개 줄에 IC 실습 후보가 같은 형식으로 주어진다.
다음 줄에 교원 사이의 반목 수 C가 주어진다.
마지막 C개 줄에 정수 두 개 i와 j가 주어진다. FC 교원 i와 IC 교원 j가 반목한다는 뜻이다.
제한은 다음과 같다.
같은 교원이 맡은 두 후보는 서로 겹치지 않는다.
한 줄에 정수 하나를 출력한다. 올바른 선택이 없으면 0을 출력한다. 있으면 고른 실습 후보의 시작 시각이 놓이는 요일 수의 최솟값을 출력한다.