Colorful Components
시간 제한2초메모리 제한512 MB
n개 정점에 색이 주어질 때, 서로 다른 색을 잇는 간선을 지운 뒤 남는 같은 색 성분의 크기가 모두 k 이하가 되도록 하는 연결 그래프(라벨 트리)의 개수를 세는 문제다.
문제
개의 노드가 있고, 번째 노드의 색은 이다. 정수 ()가 주어질 때, 다음 조건을 만족하도록 노드 사이에 정확히 개의 무향 간선을 만드는 방법의 수를 구하시오.
- 개의 노드가 연결 그래프를 이룬다.
- 서로 다른 색의 두 노드를 잇는 간선을 모두 제거하면, 남은 그래프의 모든 연결 요소는 정점이 개 이하이다.
두 간선 구성이 서로 다른 것은, 인 두 노드 와 가 있어서 한쪽 구성에서는 두 노드 사이에 간선이 있고 다른 쪽 구성에서는 없을 때이다.
답이 클 수 있으므로 로 나눈 나머지를 출력한다.
입력
첫째 줄에 두 정수 과 가 주어진다().
다음 개의 줄에 노드의 색을 나타내는 정수 이 한 줄에 하나씩 주어진다().
출력
답을 로 나눈 나머지를 출력한다.