위상 정렬
시간 제한4초메모리 제한512 MB
정점이 최대 20개인 방향 비순환 그래프에서 모든 정점 쌍 (i, j)마다 j가 i보다 앞에 오는 위상 정렬의 개수를 구합니다.
문제
방향 비순환 그래프(DAG)의 위상 정렬은 정점들의 순열 으로, 모든 간선에 대해 시작 정점이 도착 정점보다 순열에서 앞에 오는 것이다.
방향 비순환 그래프가 주어진다. 각 정점 쌍 에 대해, 정점 가 정점 보다 앞에 오는 위상 정렬의 개수를 구하라.
입력
첫 줄에 테스트 케이스의 개수 가 주어진다. 이어서 각 테스트 케이스가 주어진다.
각 테스트 케이스의 첫 줄에는 정점의 개수 과 간선의 개수 이 주어진다(, ). 다음 개의 줄에는 정점 에서 정점 로 가는 간선을 나타내는 두 정수 , 가 주어진다().
테스트 케이스는 최대 100개이다. 그중 최대 5개의 테스트 케이스에서 이다.
출력
각 테스트 케이스마다 개의 수로 이루어진 개의 줄을 출력한다. 번째 줄의 번째 수는 정점 가 정점 보다 앞에 오는 위상 정렬의 개수와 같다. 이면 0이다.