
[2098번] 외판원 순회(TSP, 비트 마스킹)
·
Coding Test/DP
2098번: 외판원 순회 첫째 줄에 도시의 수 N이 주어진다. (2 ≤ N ≤ 16) 다음 N개의 줄에는 비용 행렬이 주어진다. 각 행렬의 성분은 1,000,000 이하의 양의 정수이며, 갈 수 없는 경우는 0이 주어진다. W[i][j]는 도시 i에서 j www.acmicpc.net 외판원 순회 (모든 도시를 순회하는 최단 거리) n≤11일 경우: 브루트포스(O(n!)) n≤12일 경우: 백트래킹 n≤16일 경우: DP + BitMasking (n2∗2n) 분석 D[c][v] : 현재 도시 c, 현재까지 방문한 모든 리스트 v, 앞으로 남은 모든 도시를 경유하는데 필요한 최소비용 점화식 : D[c][v] = min(d[c][v], d[i][v|(1