아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

나쁜 과학자

시간 제한1초메모리 제한128 MB

요약
모순 관계를 나타낸 그래프가 주어질 때, 모든 간선을 없애도록 최대 k개의 정점을 지우고 그 최소 개수를 구하거나 IMPOSSIBLE을 출력한다.
난이도

어려움10점 중 8점

유형
그래프, 완전 탐색, 조합론, 백트래킹
정답자
아직 제출이 없습니다

문제

상근이는 실험 결과를 조작하는 과학자이다. 그동안 매우 조심스럽게 조작해 왔기 때문에 지난 몇 년간 누구에게도 들키지 않았다. 그러나 오랫동안 의심받지 않다 보니 상근이는 점점 조작을 허술하게 하기 시작했다.

그 결과 상근이의 최신 논문에는 서로 모순되는 이론들이 함께 실려 있다. 이 모순을 없애기 위해 상근이는 논문에서 몇 개의 이론을 삭제하려고 한다. 서로 모순되는 두 이론이 있을 때, 둘 중 적어도 하나를 삭제하면 그 모순은 사라진다.

한편 상근이의 동료 선진이는 그동안 상근이의 실험을 모두 지켜보았다. 따라서 선진이에게 의심을 사지 않고 삭제할 수 있는 이론의 개수에는 한계가 있다.

입력

첫째 줄에 테스트 케이스의 개수 TT가 주어진다. (1≤T≤1001 \le T \le 100)

각 테스트 케이스는 다음과 같이 구성된다.

  • 첫째 줄에 논문에 실린 이론의 수 nn이 주어진다. (1≤n≤501 \le n \le 50)
  • 둘째 줄에 의심을 사지 않고 삭제할 수 있는 이론의 최대 개수 kk가 주어진다. (0≤k≤160 \le k \le 16)
  • 셋째 줄에 서로 모순인 이론 쌍의 개수 mm이 주어진다. (0≤m≤n(n−1)20 \le m \le \frac{n(n-1)}{2})
  • 이어지는 mm개의 줄에 서로 모순인 두 이론의 번호 xix_i와 yiy_i가 주어진다. (1≤xi<yi≤n1 \le x_i < y_i \le n)

이론에는 11번부터 nn번까지 번호가 매겨져 있으며, 같은 이론 쌍은 두 번 이상 주어지지 않는다.

출력

각 테스트 케이스마다, 모든 모순을 없앤 논문을 만들기 위해 삭제해야 하는 이론의 최소 개수를 한 줄에 출력한다.

만약 그 최소 개수가 kk보다 커서 의심을 피할 수 없다면, 대신 IMPOSSIBLE을 출력한다.

예제2

  1. 예제 1

    입력
    2
    5
    5
    2
    1 3
    2 3
    3
    1
    3
    1 2
    2 3
    1 3
    
    예상 출력
    1
    IMPOSSIBLE
    
  2. 예제 2

    입력
    1
    1
    0
    0
    
    예상 출력
    0