Algorithm

[C++] BOJ Baekjoon online judge 10804번 카드역배치

도라프 2022. 3. 10. 03:21

문제 출처

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

 

10804번: 카드 역배치

1부터 20까지 오름차순으로 놓인 카드들에 대해, 입력으로 주어진 10개의 구간 순서대로 뒤집는 작업을 했을 때 마지막 카드들의 배치를 한 줄에 출력한다. 

www.acmicpc.net

풀이 방법

c++ 정렬함수: greater<>()는 내림차순 정리여서 reverser를 사용해야한다!!

#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;

int main(void) {
	int arr[20];
	int a, b;
	for (int l = 0; l < 20; l++) {
		arr[l] = l + 1;
	}
	for (int i = 0; i < 10; i++) {
		cin >> a >> b;
		reverse(arr + a - 1, arr + b); 
	}
	for (int j = 0; j < 20; j++) {
		cout << arr[j] << ' ';
	}
}