Strahler 순서

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

지질학에서 하천계는 방향 그래프로 나타낼 수 있다. 강은 간선이고, 물이 흐르는 방향이 간선의 방향이 된다. 노드는 샘이나 호수처럼 강이 시작하는 곳, 강이 합쳐지거나 갈라지는 곳, 바다와 만나는 곳이다. 물은 상류에서 하류로만 흐르므로 이미 지나온 노드로 되돌아오는 경로는 없다.

간선 (u,v)(u, v)가 나타내는 강의 순서는 그 강이 흘러나오는 노드 uu의 순서와 같다. 각 노드의 Strahler 순서는 다음과 같이 구할 수 있다.

  • 들어오는 강이 하나도 없는 노드는 강의 근원이고, 순서는 11이다.
  • 나머지 노드는 들어오는 강의 순서 중 가장 큰 값을 ii라고 할 때, 순서가 ii인 강이 하나뿐이면 순서가 ii이고, 둘 이상이면 i+1i + 1이다.

하천계의 순서는 바다와 만나는 노드의 순서와 같다. 바다와 만나는 노드는 항상 하나이며, 노드 MM이 그 노드다.

하천계의 정보가 주어졌을 때, Strahler 순서를 구하는 프로그램을 작성하시오.

실제 강 중에서는 아마존강의 Strahler 순서가 1212로 가장 크고, 미국에서 가장 큰 값을 갖는 강은 미시시피강으로 1010이다.

입력

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

각 테스트 케이스의 첫째 줄에는 KK, MM, PP가 주어진다. KK는 테스트 케이스 번호, MM은 노드의 수, PP는 간선의 수이다. (2M1000)(2 \le M \le 1000)

다음 PP개 줄에는 간선의 정보 AA, BB가 한 줄에 하나씩 주어지며, AA에서 BB로 물이 흐른다는 뜻이다. (1A,BM)(1 \le A, B \le M)

노드 MM은 항상 바다와 만나는 노드이며, 노드 MM에서 밖으로 향하는 간선은 존재하지 않는다.

출력

각 테스트 케이스마다 테스트 케이스 번호 KK와 그 하천계의 Strahler 순서를 공백 하나로 구분해 한 줄에 출력한다.