Universal Cup Judging System

Universal Cup

実行時間制限: 1.0 s メモリ制限: 1024 MB 満点: 100 ハック可能 ✓
統計

Little Y는 공원을 방문하고 있습니다. 이 공원의 지도는 $n$개의 정점과 $m$개의 간선을 포함하는 무향 단순 연결 그래프로 나타낼 수 있습니다. 여행객들이 경로를 계획하는 데 도움을 주기 위해 지도에는 여러 개의 사이클이 존재합니다. 각 사이클은 서로 다른 정점들의 수열 $e_1, e_2, \dots, e_l$ ($l \ge 3$)로 나타낼 수 있으며, 모든 $1 \le i \le l$에 대해 그래프에 $e_i$와 $e_{(i \bmod l)+1}$을 잇는 간선이 존재합니다. 또한 사이클 위의 모든 정점을 순서대로 연결하는 간선들의 집합을 해당 사이클의 간선 집합이라고 부르며, 두 사이클은 간선 집합이 다를 때 그리고 그때에만 서로 다른 사이클로 간주합니다. Little Y는 공원을 계속 둘러보던 중 그래프의 각 간선이 최대 하나의 사이클에만 포함된다는 성질을 발견했습니다.

현재 공원에는 조명 시스템이 없어서 밤이 되면 공원이 완전히 어두워집니다. 다행히 직원들이 지도의 일부 정점에 등대를 설치하려고 준비 중입니다. 그래프에서 두 정점 사이의 거리는 한 정점에서 다른 정점에 도달하기 위해 거쳐야 하는 최소 간선 수로 정의됩니다. 따라서 각 등대는 자신이 설치된 정점뿐만 아니라, 설치된 정점으로부터의 거리가 $k$ 이하인 모든 정점도 비출 수 있습니다.

알고리즘 대회 참가자인 Little Y는 자연스럽게 한 가지 의문이 떠올랐습니다. 모든 정점이 비춰지도록 하기 위해 설치해야 하는 등대의 최소 개수는 몇 개일까요?

입력

이 문제는 여러 개의 테스트 케이스로 이루어져 있습니다. 입력의 첫 번째 줄에는 테스트 케이스의 개수를 나타내는 정수 $T$ ($1 \le T \le 10^5$)가 주어집니다.

각 테스트 케이스에 대하여:

첫 번째 줄에는 지도의 정점 수, 간선 수, 그리고 등대가 비출 수 있는 최대 거리를 나타내는 세 정수 $n, m, k$ ($2 \le n \le 2 \times 10^5$, $n-1 \le m \le 2 \times 10^5$, $1 \le k \le n$)가 주어집니다.

다음 $m$개의 줄에는 각각 지도 위의 한 간선을 나타내는 두 정수 $u, v$ ($1 \le u, v \le n, u \ne v$)가 주어집니다.

주어지는 무향 그래프는 연결 그래프이며 중첩 간선이나 자기 루프가 없고, 각 간선은 최대 하나의 사이클에만 나타남이 보장됩니다. 또한 모든 테스트 케이스에서 $n$과 $m$의 합은 각각 $2 \times 10^5$을 넘지 않습니다.

출력

각 테스트 케이스마다 설치해야 하는 등대의 최소 개수를 나타내는 정수를 하나 출력합니다.

예제

입력

3
5 4 1
1 2
1 3
3 4
1 5
5 5 1
1 2
2 3
3 4
4 5
5 1
8 8 2
1 2
2 3
3 4
4 5
5 1
1 6
2 7
3 8

출력

2
2
1

노트

첫 번째 테스트 케이스에서는 정점 1과 정점 4에 각각 등대를 하나씩 총 두 개 설치할 수 있습니다.

두 번째 테스트 케이스에서는 정점 2와 정점 5에 각각 등대를 하나씩 총 두 개 설치할 수 있습니다.

세 번째 테스트 케이스에서 가능한 한 가지 방법은 정점 2에 등대를 하나 설치하는 것입니다. 최소 개수의 등대를 설치하는 조건을 만족하는 방법은 이것이 유일함을 증명할 수 있습니다.

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.