문제

해결 방안

링크드리스트로 해야하지만 귀찮아서 벡터로 처리했다.

지우고 넘어가고 지우고 넘어가고 하며 원형 링크드 리스트 처럼 동작하게 넘어가면 나머지를 통해 이를 극복하였다.

코드

#include <iostream>
#include <vector>
using namespace std;
int main()
{
    int x1,x2, y = 0;
    cin >> x1 >> x2;
    int val = x2 - 1;
    vector <int>v;
    for (int i = 1; i <= x1; i++) {
        v.push_back(i);
    }
    cout << "<";
    while (v.size() != 0) {
        y = (y+val)%v.size();
        cout << v[y];
        v.erase(v.begin()+y);
        if (v.size() != 0) cout << ", ";
    }
    cout << ">";
    return 0;
}

+ Recent posts