문제
풀이
배열에서 begin부터 end까지 mid를 기준으로하여 회전시켜줘야하므로 rotate 함수를 이용하였다.
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int n, m, begin, end ,mid;
int arr[101];
cin >> n >> m;
for (int i = 1; i <= n; i++)
arr[i] = i;
for (int i = 0; i < m; i++) {
cin >> begin >> end >> mid;
rotate(arr + begin, arr + mid, arr + end + 1);
}
for (int i = 1; i <= n; i++)
cout << arr[i] << " ";
return 0;
}
'백준 > 심화' 카테고리의 다른 글
1157: 단어 공부 / C++ (0) | 2023.03.09 |
---|---|
10988: 팰린드롬인지 확인하기 / C++ (0) | 2023.03.09 |
2444: 별 찍기 - 7 / C++ (0) | 2023.03.09 |
3003: 킹, 퀸, 룩, 비숍, 나이트, 폰 / C++ (0) | 2023.03.09 |
25083: 새싹 / C++ (0) | 2023.03.09 |