백트래킹2 백준 10971번 : 외판원 순회 2 (Python) 출처 : https://www.acmicpc.net/problem/10971 n = int(input()) graph = [list(map(int, input().split())) for _ in range(n)] min_cost = int(1e9) visited = [False] * n # now : 현재 방문 중인 도시 # now_cost : 지금 도시까지 비용 # visits_cnt : 지금까지 방문한 도시 수 def back_track(now, now_cost, visits_cnt) : global min_cost # 지금까지 비용이 최소 비용보다 크면 더 이상 탐색 X if now_cost >= min_cost : return # 모든 도시 다 방문하면 처음 시작한 도시로 돌아가야 함 if vi.. 2023. 1. 25. 백준 15649, 15650 : N과 M (1), (2) (Python) N과 M (1) 출처 : https://www.acmicpc.net/problem/15649 # 순열 n, m = map(int, input().split()) sol = list() visited = [0] * (n+1) def permute(n, m) : if len(sol) == m : print(*sol) return for i in range(1, n+1) : if visited[i] == 0 : sol.append(i) visited[i] = 1 permute(n, m) sol.pop() visited[i] = 0 permute(n, m) N과 M (2) 출처 : https://www.acmicpc.net/problem/156450 # 조합 n, m = map(int, input().split.. 2022. 12. 26. 이전 1 다음