만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

걸어서 트리 속으로

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

요약
트리의 모든 노드를 한 번씩 도는 순환 순서 중, 연속한 세 노드에서 가운데 노드가 양옆 노드 사이 경로 위에 놓이지 않는 순서의 개수를 998244353으로 나눈 나머지로 구합니다.
난이도

보통10점 중 7점

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

문제

시사 교양 프로그램 '걸어서 트리 속으로'의 PD 종경이는 NN개의 나라를 한 번씩 촬영하려고 한다. 나라의 번호는 1번부터 NN번까지이다. 두 나라를 잇는 N−1N-1개의 양방향 직항 항공편이 있으며, 각 나라에서 모든 나라로 비행기를 통해 이동할 수 있다. 한 나라에서 다른 나라로 이동할 때는 비행기만 이용해야 하며, 비행기 탑승 횟수가 최소가 되도록 이동해야 한다.

종경이는 시청률을 높이기 위해 촬영 순서를 신중하게 정하고자 한다. 이를 위해 NN개 나라의 순서 A[0]→A[1]→⋯→A[N−1]A[0] \rightarrow A[1] \rightarrow \cdots \rightarrow A[N-1]은 다음 조건을 추가로 만족해야 한다.

  • 0≤i<N0 \le i < N인 모든 ii에 대해, dist(A[i],A[i+1])+dist(A[i+1],A[i+2])≠dist(A[i],A[i+2])\text{dist}(A[i], A[i+1]) + \text{dist}(A[i+1], A[i+2]) \neq \text{dist}(A[i], A[i+2]) (단, A[N]=A[0]A[N] = A[0], A[N+1]=A[1]A[N+1] = A[1])

여기서 dist(x,y)\text{dist}(x, y)는 xx번 나라에서 yy번 나라로 이동할 때 필요한 비행기 최소 탑승 횟수이다.

조건을 만족하는 나라들의 순서의 개수를 998 244 353998\,244\,353으로 나눈 나머지를 구하라.

입력

첫 줄에 나라의 개수 NN이 주어진다.

두 번째 줄부터 NN번째 줄까지 i+1i+1번째 줄에는 공백으로 구분된 두 정수 xix_i, yiy_i가 주어진다. 이는 ii번째 항공편이 xix_i번 나라와 yiy_i번 나라를 잇는 양방향 직항편이라는 뜻이다.

출력

첫 번째 줄에 답을 출력한다.

제한

  • 3≤N≤3003 \leq N \leq 300
  • 1≤xi,yi≤N1 \leq x_i, y_i \leq N (1≤i<N1 \leq i < N)
  • 각 나라에서 모든 나라로 비행기를 통해 이동할 수 있다.

예제1

  1. 예제 1

    입력
    4
    1 2
    2 3
    3 4
    
    예상 출력
    8