문제 162
클리크와 독립 집합
정점이 $N$개이고 간선이 $M$개인 무방향 단순 그래프가 주어진다. 정점의 번호는 $0$부터 $N-1$까지이다.
- 클리크는 서로 다른 두 정점 사이에 항상 간선이 있는 정점 집합이다.
- 극대 클리크는 집합 밖의 정점을 하나 더 추가하면 클리크가 아니게 되는 클리크이다.
- 독립 집합은 서로 다른 두 정점 사이에 간선이 없는 정점 집합이다.
극대 클리크의 수, 클리크 크기의 최댓값, 독립 집합 크기의 최댓값을 구해 보자. 크기가 가장 큰 클리크와 극대 클리크는 서로 다른 개념이다. 정점이 없는 그래프에는 빈 극대 클리크가 하나 있다.
입력
첫 번째 줄에 테스트 케이스의 수를 의미하는 정수 $Q$가 주어진다. $(1 \le Q \le 100)$
각 테스트 케이스의 첫 번째 줄에 두 정수 $N$, $M$이 공백으로 구분되어 주어진다. $(0 \le N \le 36; 0 \le M \le N(N-1)/2)$
두 번째 줄부터 $M$개의 줄에 걸쳐 간선의 양 끝 정점 번호 $u$, $v$가 공백으로 구분되어 주어진다. $(0 \le u, v < N; u \ne v)$ 같은 무방향 간선은 두 번 주어지지 않는다.
전체 테스트 케이스에서 $N$의 합은 $400$ 이하이다.
출력
각 테스트 케이스마다 극대 클리크의 수, 클리크 크기의 최댓값, 독립 집합 크기의 최댓값을 공백으로 구분하여 한 줄에 출력한다.
예제 입력 1
3 0 0 1 0 2 1 0 1
예제 출력 1
1 0 0 1 1 1 1 2 1