문제를 읽고 예제를 봤을 때 왜 62가 나오는지 몰랐다.(하핳)
그래서 문제에서 알려준 식을 가지고 코드로 변환하여 작성했더니 정말 62가 나와서 놀랬다.ㅎ
#include <bits/stdc++.h>
using namespace std;
int N10819;
int maxNum = -INT_MAX;
vector<int> input10819;
vector<bool> check10819(9,false);
vector<int> tmp10819;
void backback10819(int count){
if(count == N10819){
int sum = 0;
for(int i=0; i<N10819-1; ++i){
sum += abs(tmp10819[i] - tmp10819[i+1]);
}
maxNum = max(maxNum,sum);
return;
}
for(int i=0; i<N10819; ++i){
if(!check10819[i]){
check10819[i] = true;
tmp10819.push_back(input10819[i]);
backback10819(count+1);
tmp10819.pop_back();
check10819[i] = false;
}
}
}
void forMax10819(){
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
cin>>N10819;
for(int i=0;i<N10819;++i){
int a; cin>>a;
input10819.push_back(a);
}
backback10819(0);
cout<<maxNum<<"\n";
}
'알고리즘 > 분할정복 & 재귀 & 백트래킹' 카테고리의 다른 글
[백준] 16974 레벨 햄버거 (0) | 2023.05.19 |
---|---|
[백준] 10974 모든 순열 (1) | 2023.05.17 |
[백준] 2580 스도쿠 (0) | 2023.05.16 |
[백준] 1987 알파벳 (0) | 2023.05.15 |
[백준] 1182 부분 수열의 합 (0) | 2023.05.15 |