트리 색칠하기

면접 대비

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

요약
인접한 정점이 서로 다른 색을 갖도록 N개 정점으로 이루어진 트리를 K가지 색으로 칠하는 경우의 수를 93563으로 나눈 나머지를 구합니다.
난이도

보통10점 중 4점

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

문제

트리는 연결되어 있고 사이클이 없는 무향 그래프이다. 노드 NN개와 간선 N−1N-1개로 이루어진 트리가 주어진다. 이 트리를 색칠하려고 한다. 즉, 각 노드에 {1,2,…,K}\{1, 2, \dots, K\} 중 한 가지 색을 배정하는데, 간선으로 이어진 두 노드는 색이 서로 달라야 한다.

색칠하는 방법이 몇 가지인지 세는 프로그램을 작성하시오. 가짓수가 매우 커질 수 있으므로 9356393563으로 나눈 나머지를 출력한다.

입력

첫째 줄에 테스트 케이스의 개수 TT (1≤T≤101 \le T \le 10)가 주어진다. 이어서 TT개의 테스트 케이스가 다음 형식으로 주어진다.

  • 각 테스트 케이스의 첫째 줄에 정수 NN과 KK가 주어진다. NN은 노드의 개수 (2≤N≤2002 \le N \le 200), KK는 쓸 수 있는 색의 개수 (1≤K≤101 \le K \le 10)이다. 노드 번호는 11부터 NN까지이다.
  • 다음 N−1N-1개 줄에 트리의 간선이 주어진다. 각 줄에는 정수 AA와 BB (1≤A≤N1 \le A \le N; 1≤B≤N1 \le B \le N; A≠BA \ne B)가 주어지고, 노드 AA와 노드 BB를 잇는 간선이 있다는 뜻이다.

출력

TT개의 줄을 출력한다. 각 테스트 케이스마다 색칠하는 방법의 수를 9356393563으로 나눈 나머지를 입력 순서대로 한 줄에 하나씩 출력한다.

예제1

  1. 예제 1

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