알고리즘/백준

[백준] 10819 - 차이를 최대로 (파이썬)

소갱 2021. 10. 20. 12:58
N = int(input())
condition = list(map(int,input().split()))
visit = [False for _ in range(N)]
mx = 0
array = []
def DFS(v):
    global mx
    if v == N:
        now_sum = 0
        for i in range(N-1):
            now_sum += abs(array[i]-array[i+1])
        mx = max(mx,now_sum)
        return 
    for i in range(N):
        if visit[i] == False:
            visit[i] = True
            array.append(condition[i])
            DFS(v+1)
            array.pop()
            visit[i] = False

DFS(0)
print(mx)