Skip to main content

백준 10819 차이를 최대로

·111 words·1 min· loading

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

10819번: 차이를 최대로첫째 줄에 N (3 ≤ N ≤ 8)이 주어진다. 둘째 줄에는 배열 A에 들어있는 정수가 주어진다. 배열에 들어있는 정수는 -100보다 크거나 같고, 100보다 작거나 같다.www.acmicpc.net

오우야

그냥 노가다문제이다.

먼져, 배열에 들어있는 수로 만들수 있는, 길이가 n인 모든 배열을 구한다.

그모든 배열에 대해서 |A[0] - A[1]| + |A[1] - A[2]| + … + |A[N-2] - A[N-1]|를 구한다.

최댓값을 찾는다.

근데 거의 처음구현해봐서 좀 빡셌다.

근데 노가다라서 어렵지는 않았다.

def dfs(arr):    if len(answer_list)==n:        count(answer_list)        return
    for i in range(n):        if not visited[i]:
            answer_list.append(arr[i])            visited[i]=True
            dfs(arr)            answer_list.pop()            visited[i]=False
        def count(arr):    global answer    tmp=0    for i in range(n-1):
        tmp += abs(arr[i]-arr[i+1])    if tmp>answer:        answer=tmp
    return                
###########################################################n=int(input())
arr=[*map(int,input().split())]##함수용answer_list=[]
visited=[False for _ in range(n)]answer=0###dfs(arr)print(answer)