유치원
시간 제한1초메모리 제한128 MB
n명의 학생을 세 학급으로 나누되 아무도 작년 담임을 피하고 각 학급에서 모든 동급생이 서로의 선호 목록 상위 T 안에 들도록 하며 T를 최소화한다.
문제
어느 유치원에는 세 명의 선생님이 있고, 각 선생님이 한 반씩을 맡는다. 새 학기가 시작되면 학생들을 이 세 반으로 나눠야 한다.
반을 나눌 때는 학생들의 친구 관계를 고려한다. 모든 학생은 다른 학생들의 이름을 자신이 좋아하는 순서대로 적어 제출했으며, 이 순서는 곧 같은 반이 되고 싶은 순서이기도 하다.
매년 새로운 학생이 들어와 빈자리를 채우므로 각 반의 학생 수는 서로 달라도 된다. 다만 어떤 선생님도 작년에 맡았던 학생을 올해 다시 맡지는 않는다.
목표는 모든 학생을 작년과 다른 반에 배정하되, 각 반에 대해 그 반의 어떤 학생이 제출한 선호 순서를 보더라도 같은 반의 나머지 학생이 모두 상위 위 안에 들도록 하는 것이다. 이때 를 가능한 한 작게 만들어야 한다.
입력
첫째 줄에 학생 수 이 주어진다. 학생의 번호는 번부터 번까지이다.
다음 개의 줄에 각 학생의 정보가 주어진다. 각 줄의 첫 번째 정수는 그 학생을 작년에 맡았던 선생님을 나타내며 , , 중 하나이다. 이어서 개의 정수가 주어지는데, 이는 자기 자신을 제외한 번부터 번까지 모든 학생의 번호를 그 학생이 좋아하는 순서대로 나열한 것이다.
출력
다음 두 조건을 모두 만족하는 가장 작은 음이 아닌 정수 를 출력한다.
- 어떤 학생도 작년에 자신을 맡았던 선생님의 반에 배정되지 않는다.
- 각 반에서, 그 반의 어떤 학생이 제출한 선호 순서를 보더라도 같은 반의 나머지 학생이 모두 상위 위 안에 있다.