본문 바로가기

BOJ

[백준] 10804번 카드 역배치 c++

#include <iostream>

using namespace std;

int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	int arr[30] = { 0, };
	int num1, num2;
	int k;
	for (int i = 1; i <= 20; i++) {
		arr[i] = i;
	}

	for (int j = 0; j < 10; j++) {
		k = 0;
		cin >> num1 >> num2;
		if ((num2 - num1 + 1) % 2 == 0) {
			for (int i = num1; i < (((num1 + num2) / 2) + 1); i++) {
				int tmp = arr[i];
				arr[i] = arr[num2 - k];
				arr[num2 - k] = tmp;
				k++;
			}
		}
		else {
			for (int i = num1; i < (((num1 + num2) / 2) + 1); i++) {
				int tmp = arr[i];
				arr[i] = arr[num2 - k];
				arr[num2 - k] = tmp;
				k++;
			}
		}
		
	}
	
	for (int i = 1;i<=20;i++)
		cout << arr[i] << " ";
	return 0;
		
}

'BOJ' 카테고리의 다른 글

[백준] 10808번 알파벳 개수 C++  (0) 2020.04.20
[백준] 2309번 일곱 난쟁이 c++  (0) 2020.04.20
[백준] 1267번 핸드폰요금 c++  (0) 2020.04.19
[백준] 2577번 숫자의 개수 c++  (0) 2020.04.19
[백준] 2576번 홀수 c++  (0) 2020.04.19