답은 알고리즘 뿐이야!

[BOJ 5651] 완전 중요한 간선 본문

알고리즘/백준문제풀이

[BOJ 5651] 완전 중요한 간선

skyde47 2020. 9. 3. 20:14

문제 출처 : https://www.acmicpc.net/problem/5651

 

5651번: 완전 중요한 간선

입력은 여러개의 테스트케이스로 이뤄진다. 첫째 줄에는 테스트케이스의 수 K (1<=K<=15)가 주어진다.  각 테스트 케이스에는 N, M (2 <= N <= 300; 2 <= M <= 5,000)가 주어지고 각각 정점의 수와 간선의 수

www.acmicpc.net

 

풀이 :

네트워크 플로우 최대 유량 문제입니다.

 

Source는 1번 정점, Sink는 N번 정점으로

엣지중 Capacity가 1 줄었을때 Maximum Flow도 1이 줄어드는 간선의 개수를 찾는 문제입니다.

 

우선 Maximum Flow를 구해 준 다음

 

Capacity와 Flow의 차이가 0 즉 최대로 흐르고 있는 엣지에 대해

엣지의 시작지점에서 엣지의 도착지점까지 흐를수 있는 다른 경로가 있는지를 탐색한 후

다른 경로가 있으면 완전 중요한 간선이 아니고,

다른 경로가 없으면 완전 중요한 간선이 됩니다.

 

그 이유는 다른 증가경로가 있다면 현재 선택된 엣지를 타지 않고도 충분히 Maximum Flow만큼 흘릴 수 있기 때문입니다.

 

 

 

 

 

'알고리즘 > 백준문제풀이' 카테고리의 다른 글

[BOJ 1760] N-Rook  (0) 2020.09.03
[BOJ 2414] 게시판 구멍 막기  (0) 2020.09.03
[BOJ 10319] 좀비 아포칼립스  (0) 2020.08.18
[BOJ 13505] 두 수 XOR  (0) 2020.08.17
[BOJ 2449] 전구  (0) 2020.08.16
Comments