영웅적인 강도

면접 대비

시간 제한3초메모리 제한512 MB

요약
방들이 일렬로 놓여 있고 각 문은 잠겨 있거나 특정 문들을 열 수 있는 열쇠를 담고 있으며 열쇠는 한 번만 쓸 수 있다. 1번 방에서 시작해 최대로 들어갈 수 있는 방의 수를 구한다.
난이도

보통10점 중 6점

유형
그래프, 그리디, 구현
정답자
아직 제출이 없습니다

문제

새 미술관의 개관 전날 밤이다. 미술관은 1번부터 n번까지 번호가 붙은 n개의 방으로 이루어져 있다. 방은 순서대로 배치되어 있으며, 1번 방은 2번 방과 문으로 연결되고, 2번 방은 3번 방과 연결되는 식이다. 각 방에는 앞선 방에서 들어오는 문이 하나씩 있다. 그 문은 잠겨 있거나 잠겨 있지 않다. 문이 잠겨 있지 않으면 그 방에는 열쇠가 들어 있고, 그렇지 않으면 열쇠가 없다.

문이 잠긴 방에 들어가려면 그 문에 맞는 열쇠를 사용해야 한다. 각 열쇠는 일부 문을 열 수 있다. 미술관은 도둑을 막기 위해 특별한 자물쇠와 열쇠 체계를 사용한다. 잠긴 문은 여는 데 쓴 열쇠를 소모하므로, 열쇠는 한 번만 사용할 수 있다.

당신은 열쇠가 반드시 들어 있는 1번 방에서 시작하며, 가능한 한 많은 방에 들어가려 한다. 방에 많이 들어갈수록 더 많은 그림을 감상할 수 있다.

열쇠를 최적으로 사용한다고 할 때, 들어갈 수 있는 방의 최대 개수는 얼마인가?

입력

첫째 줄에 방의 개수 n (2 ≤ n ≤ 300)이 주어진다.

다음 n개의 줄에는 미술관의 방들이 순서대로 주어진다. 각 줄은 다음 중 하나이다.

  • 그 방에 열쇠가 있으면 정수 0 < x < n 하나와, 그 열쇠로 열 수 있는 잠긴 문이 있는 방들의 번호 x개가 이어진다. 같은 방 번호가 이 목록에 두 번 나오지 않는다.
  • 그 방의 문이 앞선 방에서 이어지는 잠긴 문이면 정수 0 하나가 주어진다.

1번 방은 x > 0임이 보장된다.

출력

들어갈 수 있는 방의 최대 개수를 출력한다.

예제2

  1. 예제 1

    입력
    7
    3 2 6 7
    0
    2 2 7
    2 5 6
    0
    0
    0
    
    예상 출력
    5
    
  2. 예제 2

    입력
    6
    3 4 5 6
    2 4 5
    1 4
    0
    0
    0
    
    예상 출력
    6