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)
반응형