왕실 금고

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

요약
트리 형태의 조직 구조에서 부모-자식 쌍으로 이루어진 최대 매칭의 크기와 그 매칭을 구성하는 방법의 수를 구하는 문제입니다.
난이도

보통10점 중 7점

유형
트리, 동적 계획법, 조합론
정답자
아직 제출이 없습니다

문제

먼 옛날 어느 왕국에서 왕실 금고가 점점 비어 갔다. 뇌물을 막기 위해 왕은 재무 관청을 개편하여 관리들이 반드시 짝을 이루어 일하도록 했다. 각 짝은 한 관리와 그 관리의 직속 부하 정확히 한 명으로 이루어진다.

관청은 수석 재무관이 이끈다. 수석 재무관은 오직 왕에게만 보고하고, 그 외 모든 관리는 정확히 한 명의 상관에게 보고하며 0명 이상의 직속 부하를 둘 수 있다. 각 관리는 최대 한 개의 짝에만 속할 수 있으며, 어떤 관리는 짝을 이루지 않고 남을 수도 있다.

관청의 조직 구조가 주어질 때, 만들 수 있는 짝의 최대 개수 M과, 정확히 M개의 짝을 이루는 서로 다른 방법의 수를 구하여라. 두 방법은 짝의 집합이 다르면 서로 다른 것으로 센다.

입력

첫째 줄에 관리의 수 N이 주어진다(1≤N≤10001 \le N \le 1000). 관리들은 11부터 NN까지의 서로 다른 번호를 가지며, 수석 재무관의 번호는 11이다.

다음 N개의 줄은 각각 한 관리를 설명한다. 각 줄에는 그 관리의 번호, 직속 부하의 수 K(0≤K≤9990 \le K \le 999), 그리고 K명의 부하 번호가 공백 하나로 구분되어 주어진다. 각 관리는 항상 자신의 상관보다 뒤에 설명된다.

출력

두 줄을 출력한다. 첫째 줄에는 만들 수 있는 짝의 최대 개수 M을 출력한다. 둘째 줄에는 위 규칙에 따라 정확히 M개의 짝을 이루는 서로 다른 방법의 수를 출력한다. 이 수는 매우 커질 수 있다.

예제4

  1. 예제 1

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

    입력
    1
    1 0
    
    예상 출력
    0
    1
    
  3. 예제 3

    입력
    2
    1 1 2
    2 0
    
    예상 출력
    1
    1
    
  4. 예제 4

    입력
    3
    1 1 2
    2 1 3
    3 0
    
    예상 출력
    1
    2