문제: https://www.acmicpc.net/problem/2098
비트마스킹 + DP로 해결할 수 있습니다.
dp 상태정의를 dp[현재까지 방문한 상태][현재 노드]로 하고
점화식은 아래와 같이 세울 수 있습니다.
dp[nxtState][nxtNode] = min(dp[nowState][nowNode] + cost[nowNode][nxtNode])
방문 상태를 저장함으로써 중복 방문을 없앨 수 있습니다.
코드: https://github.com/cotchan/algorithm/blob/main/BOJ/BOJ2098.java
'Algorithm > BOJ' 카테고리의 다른 글
[BOJ]1806번: 부분합 (0) | 2022.05.02 |
---|---|
[BOJ]10775번: 공항 (0) | 2022.05.02 |
[BOJ]16946번: 벽 부수고 이동하기 4 (0) | 2022.05.01 |
[BOJ]1197번: 최소 스패닝 트리 (0) | 2022.04.29 |
[BOJ]1167번: 트리의 지름 (0) | 2022.04.28 |