새소식

💻 Programming (프로그래밍)/C++ | 백준

[C++][백준] - 바구니 뒤집기 (10811번)

  • -
https://www.acmicpc.net/problem/10811
 

10811번: 바구니 뒤집기

도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 순서대로 적혀져 있다. 바구니는 일렬로 놓여져 있고, 가장 왼쪽 바구니를 1번째 바구니, 그 다음 바구니를 2

www.acmicpc.net

🔔 문제 : 

(1<= N,M <= 100) 인 N,M이 주어집니다.

 

N은 바구니 개수입니다.

M은 바구니를 뒤집으려고 하는 바꾸려는 횟수 입니다.

 

다음 줄 부턴 1<= i <= j <= N 인 i부터 j까지의 바구니를 역순으로 바꿀 범위가 M개 주어집니다.

 

입력으로 주어진 순서대로 바구니의 순서를 바꾸는 문제입니다.


🔔 Kick Point :

Algoritm 헤더의 swap을 통하여 역순으로 reverse 해주었습니다.

 


🔔 Code :

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

int main() {
	int n, m; cin >> n >> m;
	int* arr = new int[n];
	for (int i = 0; i < n; i++) {
		arr[i] = i + 1;
	}
	while (m--) {
		int i, j; cin >> i >> j;
		i--, j--;
		while (i < j) swap(arr[i++], arr[j--]);
	}
	for (int i = 0; i < n; i++) {
		cout << arr[i] << ' ';
	}
}

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.