모든 도시를 한 번씩 도는 순회
레벨 M3 · 코딩 · JavaScript · 목표 시간 20분 · 게시일 2026-10-26
도시가 n개 있고 dist[i][j]는 i번 도시에서 j번 도시로 가는 비용이다(dist[i][j]와 dist[j][i]는 다를 수 있다). 0번 도시에서 출발해 나머지 도시를 정확히 한 번씩 들른 뒤 0번으로 돌아오는 순회 가운데 비용 합의 최솟값을 구하시오. 도시가 하나이면 0이다.
n은 1 이상 15 이하, i ≠ j일 때 dist[i][j]는 1 이상 1,000 이하이고 dist[i][i] = 0이다. 모든 순서를 따지는 방법으로는 시간 안에 끝나지 않는다.
예제
solve([[0,10,15,20],[5,0,9,10],[6,13,0,12],[8,8,9,0]]) solve([[0]]) solve([[0,3],[7,0]])