해리의 데브로그

(SW 문제해결 응용 구현 - 백트래킹) SWEA 5209 - 최소 생산 비용

|

문제

  • SWEA 5209 - [파이썬 S/W 문제해결 구현 5일차] 백트래킹 - 최소 생산 비용
  • 문제링크
  • 문제의 저작권은 SW Expert Academy에 있습니다.

나의 코드

def DFS(y, sum):
    global result

    if y == N:
        if result > sum:
            result = sum
        return

    if result < sum:
        return

    for x in range(N):
        if not visited[x]:
            visited[x] = True
            DFS(y+1, sum + Data[y][x])
            visited[x] = False

TC = int(input())
for tc in range(1, TC+1):
    N = int(input())
    Data = [list(map(int, input().split())) for _ in range(N)]
    visited = [0]*N
    result = 987654321

    DFS(0, 0)
    print('#%d %d'%(tc, result))

Comments