알고리즘/자료구조

BOJ)1158 조세퍼스 문제

광그로 2017. 6. 20. 05:53

순환 queue

1 2 3 4 5 6 7

2 3 4 5 6 7 1

3 4 5 6 7 1 2

4 5 6 7 1 2

...


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream>
#include <string>
#include <queue>
using namespace std;
 
int main()
{
    int x, y;
    queue<int> q;
    queue<int> res;
    cin >> x>> y;
    cout << '<';
    for (int i = 0; i < x; i++) {
        q.push(i + 1);
    }
 
    for (int i = 0; i < x - 1; i++) {
        for (int j = 0; j < y - 1; j++) {
            q.push(q.front());
            q.pop();
        }
        cout << q.front() << ", ";
        q.pop();
    }
    cout << q.front()<<'>';
}
 
cs