본문 바로가기
카테고리 없음

백준 1158 c++

by park_hama 2024. 8. 8.

원형큐 느낌으로 생각하면 편하다. 대충 알고리즘은 이렇다.

 

1. que가 empty될 떄까지 돌린다.

2. 각 수행에서 k-1 번 만큼 push(top), pop한다.

3. k-1번까지 pop을 돌렸으니 이번이 k번째이다. 그러므로 pop

#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
#include<queue>

using namespace std;


int main() {

   
    int n, k;
    queue<int> que;

    cin >> n >> k;

    for (int i = 1; i <= n; i++)
        que.push(i);

    cout << '<';

    while (!que.empty()) {
        for (int i = 0; i < k -1; i++) {
            que.push(que.front());
            que.pop();

        }
        
        cout << que.front();
        que.pop();
        if (!que.empty())
            cout << ", ";
        else
            cout << '>';
            
    }

    return 0;
}