영웅적인 강도
면접 대비시간 제한3초메모리 제한512 MB
방들이 일렬로 놓여 있고 각 문은 잠겨 있거나 특정 문들을 열 수 있는 열쇠를 담고 있으며 열쇠는 한 번만 쓸 수 있다. 1번 방에서 시작해 최대로 들어갈 수 있는 방의 수를 구한다.
문제
새 미술관의 개관 전날 밤이다. 미술관은 1번부터 n번까지 번호가 붙은 n개의 방으로 이루어져 있다. 방은 순서대로 배치되어 있으며, 1번 방은 2번 방과 문으로 연결되고, 2번 방은 3번 방과 연결되는 식이다. 각 방에는 앞선 방에서 들어오는 문이 하나씩 있다. 그 문은 잠겨 있거나 잠겨 있지 않다. 문이 잠겨 있지 않으면 그 방에는 열쇠가 들어 있고, 그렇지 않으면 열쇠가 없다.
문이 잠긴 방에 들어가려면 그 문에 맞는 열쇠를 사용해야 한다. 각 열쇠는 일부 문을 열 수 있다. 미술관은 도둑을 막기 위해 특별한 자물쇠와 열쇠 체계를 사용한다. 잠긴 문은 여는 데 쓴 열쇠를 소모하므로, 열쇠는 한 번만 사용할 수 있다.
당신은 열쇠가 반드시 들어 있는 1번 방에서 시작하며, 가능한 한 많은 방에 들어가려 한다. 방에 많이 들어갈수록 더 많은 그림을 감상할 수 있다.
열쇠를 최적으로 사용한다고 할 때, 들어갈 수 있는 방의 최대 개수는 얼마인가?
입력
첫째 줄에 방의 개수 n (2 ≤ n ≤ 300)이 주어진다.
다음 n개의 줄에는 미술관의 방들이 순서대로 주어진다. 각 줄은 다음 중 하나이다.
- 그 방에 열쇠가 있으면 정수 0 < x < n 하나와, 그 열쇠로 열 수 있는 잠긴 문이 있는 방들의 번호 x개가 이어진다. 같은 방 번호가 이 목록에 두 번 나오지 않는다.
- 그 방의 문이 앞선 방에서 이어지는 잠긴 문이면 정수 0 하나가 주어진다.
1번 방은 x > 0임이 보장된다.
출력
들어갈 수 있는 방의 최대 개수를 출력한다.