PS/CodeUp [CodeUp/2841] Minimum Sum (Tiny) (Python) - Problem : https://codeup.kr/problem.php?id=2841&rid=0 Status : Solved Time : -- 문제 설명 더보기 n*n개의 수가 주어진다. (1<=n<=10)이때 겹치지 않는 각 열과 각 행에서 수를 하나씩 뽑는다. (즉, 총 n개의 수를 뽑을 것이다, 그리고 각 수는 100이하의 값이다.)이 n개의 수의 합이 최소가 되게하여라. 입력 및 출력 더보기 입력 첫 줄에 n이 입력된다. 다음 줄 부터 n+1줄 까지 n개씩의 정수가 입력된다. 출력 구한 최소 합을 출력한다 입력 예시 3 1 2 5 2 4 3 5 4 3 출력 예시 7 풀이 이전에 푼 문제와 동일하다. 설명은 이것으로 갈음하겠다. 2022.11.27 - [알고리즘 문제/CodeUp] - [CodeUp/3515] 사탕 줍기 2 (python) n = int(input()) num_list = [list(map(int, input().split())) for _ in range(n)] visited = [float('inf')]*(1 << n) q = [(0, 0, 0)] while q : tot_num, visit, idx = q.pop() if idx == n : continue for i in range(n) : if visit | (1 << i) != visit : new_visit = visit | (1 << i) new_tot_num = tot_num + num_list[idx][i] if visited[new_visit] > new_tot_num: visited[new_visit] = new_tot_num q.append((new_tot_num, new_visit, idx+1)) print(visited[-1]) 풀이 완료! 공유하기 URL 복사카카오톡 공유페이스북 공유엑스 공유 게시글 관리 구독하기마젠티노's 저작자표시 비영리 동일조건 Contents 당신이 좋아할만한 콘텐츠 [CodeUp/2714] 벌들의 자료구조 (Python) 2022.12.06 [CodeUp/2839] 활동 영역 (Python) 2022.12.02 [CodeUp/3726] 답이 없는 조합론 문제 (Python) 2022.12.01 [CodeUp/2822] 무한히 많은 연산 (Python) 2022.12.01 댓글 0 + 이전 댓글 더보기