Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

짱이 될거야

백준 10819: 차이를 최대로 Python 본문

알고리즘

백준 10819: 차이를 최대로 Python

jeong57 2022. 11. 1. 09:43

https://www.acmicpc.net/problem/10819

 

10819번: 차이를 최대로

첫째 줄에 N (3 ≤ N ≤ 8)이 주어진다. 둘째 줄에는 배열 A에 들어있는 정수가 주어진다. 배열에 들어있는 정수는 -100보다 크거나 같고, 100보다 작거나 같다.

www.acmicpc.net

 

 

N의 값이 3 <= n <= 8이므로 순열을 사용하기 적합하다. (순열은 N이 최대 15~20까지 가능)

import sys
input = sys.stdin.readline


def perm(n, k):
    global result
    if n == k:
        ssum = 0
        for i in range(N-1):
            ssum += abs(arr[i]-arr[i+1])
        result = max(result, ssum)
    else:
        for i in range(k, n):
            arr[i], arr[k] = arr[k], arr[i]
            perm(n, k+1)
            arr[i], arr[k] = arr[k], arr[i]


N = int(input())
arr = list(map(int, input().split()))
result = 0
perm(N, 0)
print(result)

 

Comments