1seul357
[SWEA] 배열 최소 합 본문
def dfs(index, Sum):
global min_num
if index == N:
if min_num > Sum:
min_num = Sum
return
for i in range(N):
if visited[i] != 1:
visited[i] = 1
Sum += arr[index][i]
index += 1
dfs(index, Sum)
index -= 1
visited[i] = 0
Sum -= arr[index][i]
T = int(input())
for TC in range(T):
N = int(input())
arr = [list(map(int, input().split())) for _ in range(N)]
visited = [0]*N
min_num = 9999999
dfs(0, 0)
print('#{} {}'.format(TC+1, min_num))
'알고리즘 > SWEA' 카테고리의 다른 글
[SWEA] 파스칼의 삼각형 (0) | 2021.12.03 |
---|---|
[SWEA] 길 찾기 (0) | 2021.12.02 |
[SWEA] 회전 (0) | 2021.12.02 |
[SWEA] 암호생성기 (0) | 2021.12.02 |
[SWEA] 마그네틱 (0) | 2021.12.02 |