해리의 데브로그

(SW 문제해결 응용 구현 - 백트래킹) SWEA 5208 - 전기 버스 2

|

문제

  • SWEA 5208 - [파이썬 S/W 문제해결 구현 5일차] 백트래킹 - 전기 버스 2
  • 문제링크
  • 문제의 저작권은 SW Expert Academy에 있습니다.

나의 코드

def DFS(num):
    global cnt, result

    if num >= N:
        if result > cnt:
            result = cnt
        return

    if result < cnt:
        return

    start = num
    life = Data[start]

    for i in range(start+life, start, -1):
        cnt += 1
        DFS(i)
        cnt -= 1


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

    DFS(1)

    print('#%d %d'%(tc, result-1))

Comments