https://www.acmicpc.net/problem/1158
뭔가 매우 불필요한 방식으로 문제 해결한 거 같습니다. 그래서 코드만 참고하시면 좋을 거 같습니다.
#include <iostream>
#include <vector>
using namespace std;
void print_result(vector<int> &v) {
cout << '<';
for (int i = 0; i < v.size(); ++i) {
cout << v[i];
if (i != v.size() - 1) {
cout << ", ";
}
}
cout << '>';
}
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int N, K;
cin >> N >> K;
vector<int> v;
for (int i = 0; i < N; ++i) {
v.push_back(i + 1);
}
vector<int> result;
int idx = K - 1;
for (int i = 0; i < N - 1; ++i) {
result.push_back(v[idx]);
v.erase(v.begin() + idx);
idx = (idx + K - 1) % v.size();
}
result.push_back(v[0]);
print_result(result);
return 0;
}