아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

순위 매기기

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

요약
탑 a가 b보다 높다는 비교 N-1개가 주어지고, 각 탑이 자신보다 높은 탑과 비교되는 횟수가 최대 한 번일 때, 이 사실과 모순되지 않는 순위표의 가짓수를 센다.
난이도

보통10점 중 7점

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

문제

이쿠타가 사는 마을에는 NN개의 탑이 있다. 각 탑에는 0부터 N−1N-1까지의 서로 다른 번호가 붙어 있으며, 번호 ii인 탑을 탑 ii라고 부른다. 호기심 많은 이쿠타는 NN개 탑의 높이에 흥미를 느껴 그 대소 관계를 나타내는 표 TT를 만들기로 했다. TT는 N×NN \times N개의 원소를 가지며, 각 원소 Ti,j(0≤i,j≤N−1)T_{i, j} (0 \leq i, j \leq N - 1)는 다음과 같이 정의된다.

  • Ti,j=−1  ⟺  T_{i, j} = -1 \iff 탑 ii의 높이가 탑 jj의 높이보다 작다

  • Ti,j=0  ⟺  T_{i, j} = 0 \iff 탑 ii의 높이와 탑 jj의 높이가 같다

  • Ti,j=1  ⟺  T_{i, j} = 1 \iff 탑 ii의 높이가 탑 jj의 높이보다 크다

이쿠타는 표 TT를 만들기 위한 조사로 두 탑을 골라 높이를 비교하는 일을 N−1N-1번 반복했다.

이쿠타의 조사에 관해 다음이 알려져 있다.

  • ii번째 비교 (1≤i≤N−1)(1 \leq i \leq N - 1)에서 탑 aia_{i}와 탑 bib_{i}를 골랐다면 탑 aia_{i}의 높이가 탑 bib_{i}의 높이보다 컸다. 즉 Tai,bi=1T_{a_{i}, b_{i}} = 1, Tbi,ai=−1T_{b_{i}, a_{i}} = -1이었다.

  • 각 탑은 자기 자신보다 큰 탑과 많아야 한 번만 비교되었다.

아쉽게도 이쿠타의 조사 정보만으로 표 TT의 내용을 유일하게 결정할 수 있는 것은 아니다. 표 TT가 이쿠타의 조사와 모순되지 않고, TT가 정의되는 탑 높이 조합이 존재할 때 TT를 올바른 표라고 하자. 올바른 표로 가능한 것이 몇 가지인지 계산해 이쿠타에게 알려 주자.

단, 비교된 두 탑의 높이는 서로 다르지만 모든 탑의 높이가 서로 다르다고는 할 수 없다.

입력

입력은 다음 형식으로 주어진다.

NN

a1a_{1} b1b_{1}

...

aN−1a_{N-1} bN−1b_{N-1}

NN은 탑의 수를 나타낸다. aia_{i}, bib_{i} (1≤i≤N−11 \leq i \leq N - 1)는 탑 aia_{i}가 탑 bib_{i}보다 높다는 것을 나타낸다.

출력

가능한 올바른 표 TT의 개수를 1,000,000,007로 나눈 나머지를 출력하라.

제한

입력의 각 변수는 다음 조건을 만족한다.

  • 1≤N≤2001 \leq N \leq 200

  • 0≤ai,bi<N0 \leq a_{i}, b_{i} < N

  • ai≠bia_{i} \neq b_{i}

  • 서로 다른 탑이 같은 높이일 수도 있다.

  • 이쿠타의 조사 결과 자체는 모순이 없으며, 적어도 하나의 조사 결과와 모순되지 않는 표 TT가 존재한다.

예제4

  1. 예제 1

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

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

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

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