문제 링크
- http://icpc.me/1420
사용 알고리즘
- Network Flow
- Max Flow
- Min Cut
풀이
N <= 100이니 플로우를 고민해볼만 합니다.
정점을 몇 개 없애서 A에서 B를 못 가게 할건데, 없애는 정점을 최소화 해야 합니다.
Min Cut 문제라는 것을 알 수 있습니다.
각 격자칸들을 정점이라고 생각하고, 인접한 격자칸을 간선으로 이어준 그래프를 만들어봅시다.
이 문제에서는 간선이 아닌, 정점을 없애야(끊어야) 하기 때문에 정점을 분할해주면 됩니다.
Minimum Vertex Cut 문제로 바뀌게 됩니다.
전체 코드
1 |
|