티스토리 뷰

DS\Algo

BOJ 2316 도시 왕복하기 2

MathTrauma 2022. 8. 26. 18:35

 

문제 링크 : https://www.acmicpc.net/problem/2316

 

2316번: 도시 왕복하기 2

N개의 도시가 P개의 양방향 길로 연결되어 있다. 이석원은 1번 도시와 2번 도시 사이를 오가며 워해머를 한다. 성실한 이석원은 두 도시 사이를 최대한 많이 왔다 갔다 하려 하는데, 이때 한 번 방

www.acmicpc.net

 

 

정점을 한 번만 사용할 수 있다. <=> 정점을 입력 정점과 출력 정점으로 분리하고 둘 사이의 capacity=1 로 둔다.

정점 u 로 들어온 flow 는 u 의 출력 정점인 u+n 까지 기껏해야 1 의 용량을 가지는 간선을 이용하게 된다.

즉, 최대 한 번 이용할 수 있다는 뜻이다.

 

문제에서 간선 입력 u, v 는 u+n 에서 v 로 그리고 역간선은 v+n, u 로 연결하면 된다.  

 

max flow 문제가 흔히 그렇듯이 모델링을 어떻게 하느냐를 제외하면 나머지 코드는 template 이므로 특기할 사항이 없다.

 

 

어차피 각 정점의 내부 입력, 출력 정점 사이의 용량이 1 이니, 다른 정점들 사이의 용량은 민감하지 않다.

(충분히 크게 잡아도 문제가 없다.)

반응형

'DS\Algo' 카테고리의 다른 글

BOJ 1420 학교 가지마!  (0) 2022.08.30
BOJ 11405 책 구매하기  (0) 2022.08.29
BOJ 11932 트리와 K번째 수  (0) 2022.08.26
BOJ 17408 수열과 쿼리 24  (0) 2022.08.25
BOJ 13537 수열과 쿼리 1 (오프 라인 쿼리 version)  (0) 2022.08.17
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함