만드는 중입니다

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

Triples

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

요약
정점이 최대 100,000개인 트리가 최대 20개의 테스트 케이스로 주어질 때, 서로의 거리가 모두 같은 양의 값인 정점 세 개의 무순서 조합 수를 셉니다.
난이도

보통10점 중 7점

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

문제

트리가 주어진다. 트리는 사이클이 없는 연결된 무방향 그래프이다. 모든 두 정점 x,yx, y에 대해 d(x,y)d(x, y)는 xx와 yy를 잇는 유일한 단순 경로의 길이(간선의 수)를 뜻한다. d(x,y)=d(y,z)=d(z,x)>0d(x,y) = d(y,z) = d(z,x) > 0을 만족하는 세 정점의 집합 {x,y,z}\{x,y,z\}의 개수를 센다. 집합은 순서를 따지지 않는다.

입력

첫 줄에 테스트 케이스의 개수 zz (1≤z≤201 \leq z \leq 20)가 주어진다. 각 테스트 케이스가 이어서 주어진다.

각 테스트 케이스의 첫 줄에는 정점의 개수 nn (3≤n≤100 0003 \leq n \leq 100\,000)이 주어진다. 다음 n−1n-1개 줄에는 두 정수 a,ba, b (1≤a,b≤n1 \leq a, b \leq n)가 한 줄에 하나씩 주어지며, 정점 aa와 bb 사이에 간선이 있다는 뜻이다.

출력

각 테스트 케이스에 대해 조건을 만족하는 세 정점 집합의 개수를 정수 하나로 출력한다.

예제1

  1. 예제 1

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