문제 링크
- http://icpc.me/14904
사용 알고리즘
- MCMF
풀이
일단 정점 분할을 합시다.
분할한 정점 사이에 용량이 1이고 비용이 사탕 개수인 간선을 추가해주고, 사탕을 먹은 이후에도 유량이 흐를 수 있도록 용량이 K-1, 비용이 0인 간선도 추가를 해줍시다.
오른쪽 혹은 아래로 이동할 수 있으므로 적절히 간선을 잘 이어준 다음에 mcmf를 돌리면 됩니다.
전체 코드
1 |
|
일단 정점 분할을 합시다.
분할한 정점 사이에 용량이 1이고 비용이 사탕 개수인 간선을 추가해주고, 사탕을 먹은 이후에도 유량이 흐를 수 있도록 용량이 K-1, 비용이 0인 간선도 추가를 해줍시다.
오른쪽 혹은 아래로 이동할 수 있으므로 적절히 간선을 잘 이어준 다음에 mcmf를 돌리면 됩니다.
1 |
|