728x90
반응형
소스코드
#include<iostream>
#include<stdio.h>
#include<vector>
#include<algorithm>
using namespace std;
void initData();//초기화
int K;
int answer;
vector<int>num;
void codingTest();//코딩 테스트 대결
int main(int argc, char** argv)
{
int test_case;
int T;
cin >> T;
/*
여러 개의 테스트 케이스가 주어지므로, 각각을 처리합니다.
*/
for (test_case = 1; test_case <= T; ++test_case)
{
initData();
codingTest();
printf("#%d %d\n", test_case, answer);
}
return 0;//정상종료시 반드시 0을 리턴해야합니다.
}
void codingTest() {
while (1) {
if (num.size() == 1)break;
for (int i = 0; i < num.size() - 1; i++) {
answer += abs(num[i] - num[i + 1]);
if (num[i] < num[i + 1]) {
num.erase(num.begin() + i);
}
else {
num.erase(num.begin() + i + 1);
}
}
}
}
void initData() {
K = answer = 0;
num.clear();
scanf("%d", &K);
int kMax = 1 << K;
for (int i = 0; i < kMax; i++) {
int number = 0;
scanf("%d", &number);
num.push_back(number);
}
}
설계
- 두개 비교를 하면서 작은것 지우고 그것의 차이를 answer에 저장
실수
- 실수 없음
문제 링크
원본
728x90
반응형
'알고리즘 모음집 > New 알고리즘' 카테고리의 다른 글
2021.11.09_7701-염라대왕의이름정렬 (0) | 2021.11.09 |
---|---|
2021.11.08_1218-괄호짝짓기 (0) | 2021.11.08 |
2021.11.06_1217-거듭제곱 (0) | 2021.11.08 |
2021.11.05_1225암호생성기 (0) | 2021.11.08 |
2021.10.31_1226-미로1,1227-미로2 (0) | 2021.10.31 |
댓글