거리의 합
시간 제한1초메모리 제한512 MB
K개의 그래프가 주어졌을 때, 이들의 곱 그래프에서 (1,...,1)에서 같은 연결 요소에 있는 모든 정점까지의 최단 거리 합을 10^9+7로 나눈 나머지로 구합니다.
문제
벳시는 연결되어 있고 방향이 없는 그래프 ()를 가지고 있습니다. 각 에 대해 는 정확히 ()개의 정점을 가지며, 정점은 로 번호가 매겨져 있습니다. 간선은 ()개입니다. 각 에는 자기 루프가 있을 수 있지만, 같은 두 정점을 잇는 다중 간선은 없습니다.
엘시는 정점이 개인 새로운 무방향 그래프 를 만듭니다. 의 각 정점은 -튜플 ()로 표시됩니다. 에서 두 정점 와 는, 모든 에 대해 와 가 에서 간선으로 연결되어 있으면 간선으로 연결됩니다.
같은 연결 요소에 속한 두 정점 사이의 거리는 한 정점에서 다른 정점까지 가는 경로의 간선 수의 최솟값입니다. 정점과 같은 연결 요소에 속한 모든 정점 사이 거리의 합을 구합니다. 답은 로 나눈 나머지로 출력합니다.
입력
첫 줄에 그래프의 개수 가 주어집니다.
각 그래프 설명은 한 줄에 와 가 주어지고, 이어서 개의 간선이 주어집니다.
가독성을 위해 연속된 그래프 사이는 줄바꿈으로 구분됩니다. 모든 입력에서 , 이 보장됩니다.
출력
정점 에서 도달할 수 있는 모든 정점까지의 거리의 합을 로 나눈 나머지로 출력합니다.