BOJ: #10819 - 차이를 최대로
05:33
모든 조합을 만들어서 최대값 찾기
문제
https://www.acmicpc.net/problem/10819
내가 작성한 코드
Swift
let n = Int(readLine()!)! let nums = readLine()!.split(separator: " ").map { Int(String($0))! } var results = [[Int]]() var picked = [Int]() var visited = Array(repeating: false, count: n) func pick() { if picked.count == n { results.append(picked) return } for i in 0..<n { if visited[i] { continue } visited[i] = true picked.append(nums[i]) pick() picked.removeLast() visited[i] = false } } pick() var max = 0 for comb in results { var sum = 0 for i in 0..<n-1 { sum += abs(comb[i] - comb[i+1]) } max = max < sum ? sum : max } print(max)
반응형
댓글을 사용할 수 없습니다.