QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 256 MB Total points: 100

#2026. 간선 최소화

Statistics

Bessie는 $1\ldots N$으로 번호가 붙은 $N$개의 정점과 $M$개의 간선을 가진 연결 무방향 그래프 $G$를 가지고 있다 ($2\le N\le 10^5, N-1\le M\le \frac{N^2+N}{2}$). $G$에는 자기 루프(정점에서 자기 자신으로 이어지는 간선)가 있을 수 있지만, 평행 간선(같은 두 끝점을 연결하는 여러 간선)은 없다.

각 $1\le a\le N$과 $0\le b$에 대해, 정점 $1$에서 정점 $a$까지 정확히 $b$개의 간선을 지나가는 경로가 존재하면 참이고, 그렇지 않으면 거짓인 불 함수 $f_G(a,b)$를 정의하자. 어떤 간선을 여러 번 지나가면, 지나간 횟수만큼 간선 수에 포함한다.

Elsie는 Bessie의 것을 따라 만들고 싶다. 구체적으로, 모든 $a$와 $b$에 대해 $f_{G'}(a,b)=f_G(a,b)$를 만족하는 무방향 그래프 $G'$를 만들고 싶다.

Elsie는 가능한 한 적게 일하고 싶으므로, 가능한 한 작은 그래프를 만들려고 한다. 따라서 여러분은 $G'$가 가질 수 있는 최소 간선 수를 구해야 한다.

각 입력에는 서로 독립적으로 풀어야 하는 $T$ ($1\le T\le 5\cdot 10^4$)개의 테스트 케이스가 들어 있다. 모든 테스트 케이스의 $N$의 합은 $10^5$를 넘지 않으며, 모든 테스트 케이스의 $M$의 합은 $2\cdot 10^5$를 넘지 않음이 보장된다.

입력

입력의 첫 번째 줄에는 테스트 케이스 수 $T$가 주어진다.

각 테스트 케이스의 첫 번째 줄에는 두 정수 $N$과 $M$이 주어진다.

각 테스트 케이스의 다음 $M$개의 줄에는 각각 두 정수 $x$와 $y$ ($1\le x\le y\le N$)가 주어지며, 이는 $G$에서 $x$와 $y$ 사이에 간선이 있음을 뜻한다.

읽기 쉽도록 연속된 테스트 케이스 사이에는 빈 줄이 들어 있다.

출력

각 테스트 케이스마다 $G'$가 가질 수 있는 최소 간선 수를 새로운 줄에 출력한다.

예제

입력 1

2

5 5
1 2
2 3
2 5
1 4
4 5

5 5
1 2
2 3
3 4
4 5
1 5

출력 1

4
5

참고

첫 번째 테스트 케이스에서 Elsie는 $G$에서 시작하여 $(2,5)$를 제거함으로써 $G'$를 만들 수 있다. 또는 다음 간선들을 가진 그래프를 만들 수도 있다. $G$의 간선을 제거하는 방법만 허용되는 것은 아니기 때문이다.

1 2
1 4
4 3
4 5

$G'$ 역시 연결되어야 하므로, Elsie는 분명히 $N-1$보다 더 적은 간선으로 만들 수 없다.

입력 2

7

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

10 11
1 2
1 5
1 6
2 3
3 4
4 5
4 10
6 7
7 8
8 9
9 9

13 15
1 2
1 5
1 6
2 3
3 4
4 5
6 7
7 8
7 11
8 9
9 10
10 11
11 12
11 13
12 13

16 18
1 2
1 7
1 8
2 3
3 4
4 5
5 6
6 7
8 9
9 10
9 15
9 16
10 11
11 12
12 13
13 14
14 15
14 16

21 22
1 2
1 9
1 12
2 3
3 4
4 5
5 6
6 7
7 8
7 11
8 9
8 10
12 13
13 14
13 21
14 15
15 16
16 17
17 18
18 19
19 20
20 21

20 26
1 2
1 5
1 6
2 3
3 4
4 5
4 7
6 8
8 9
8 11
8 12
8 13
8 14
8 15
8 16
8 17
9 10
10 18
11 18
12 19
13 20
14 20
15 20
16 20
17 20
19 20

24 31
1 2
1 7
1 8
2 3
3 4
4 5
5 6
6 7
6 9
8 10
10 11
10 16
10 17
10 18
10 19
10 20
11 12
12 13
13 14
14 15
15 16
15 17
15 18
15 19
15 20
15 21
15 22
15 23
15 24
21 22
23 24

출력 2

10
11
15
18
22
26
31

참고

이 테스트 케이스들 각각에서 Elsie는 Bessie보다 더 적은 간선으로 만들 수 없다.

### 서브태스크
  • 입력 3의 모든 테스트 케이스는 $N\le 5$를 만족한다.
  • 입력 4–5의 모든 테스트 케이스는 $M=N$을 만족한다.
  • 입력 6–9의 모든 테스트 케이스에서, 모든 $b$에 대해 $f_G(x,b)=f_G(y,b)$가 성립하는 것이 아니라면, $f_G(x,b)$는 참이고 $f_G(y,b)$는 거짓인 $b$가 존재한다.
  • 입력 10–15의 모든 테스트 케이스는 $N\le 10^2$를 만족한다.
  • 입력 16–20의 테스트 케이스에는 추가 제한이 없다.

문제 출제자: Benjamin Qi

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
EditorialOpen Official EditorialQingyu- Download

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.