C++ <algorithm.h>에서 rotate를 지원한다
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
진짜 문제에서 원한 고대로~
begin ~ end를
mid ~ end, begin ~ mid-1로 바꿔주는 함수..
이런 함수가 있어도 있는걸 모르면 하등 쓸모가 없구나
그냥 댁알이 박고 열심히,, 해봤다
개열받음 ㅡㅡ
STL 공부 하자 제 발 요 !@!@
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> bucket;
void Show()
{
for (auto& b : bucket) {
cout << b << " ";
}
}
int main()
{
int N, M;
int begin, mid, end;
cin >> N >> M;
bucket.reserve(N * 2);
for (int n = 1; n <= N; n++) {
bucket.emplace_back(n);
}
for (int ways = 0; ways < M; ++ways) {
cin >> begin >> end >> mid;
// begin - 1부터 end(end-1번쨰)까지, mid-1번쨰가 맨 앞에 오도록
rotate(bucket.begin() + (begin - 1), bucket.begin() + (mid - 1), bucket.begin() + end);
}
Show();
}