‡ CODING TEST STUDY ‡/º 백준

[백준 11866번 C++] 요세푸스 문제 0

Trudy | 송연 2023. 9. 16. 17:07

11866번: 요세푸스 문제 0 (acmicpc.net)

 

11866번: 요세푸스 문제 0

첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000)

www.acmicpc.net


원래는 출력이 이상하게 됐었는 데, 

while문 안 for문에서 int i=1부터 시작하게 바꿔주니까 제대로 출력됐다

#include <iostream>
#include <queue>
#include <vector> 

using namespace std;

int main()
{
    int n, k, t;
    cin >> n >> k;
    
    queue<int> q;
    queue<int> result;
    for(int i=1; i<=n; i++){
        q.push(i);
    }
    
    while(!q.empty()){
        for(int i=1; i<k; i++){
            t = q.front();
            q.pop();
            q.push(t);
        }
        result.push(q.front());
        q.pop();
        
    }
    
    cout << "<";
    for(int i=1; i<n; i++){
        cout << result.front() << ", ";
        result.pop();
    }
    
    cout << result.front() << ">";
    
    return 0;
}

'‡ CODING TEST STUDY ‡ > º 백준' 카테고리의 다른 글

[백준 11286번 C++] 절대값 힙  (0) 2023.09.17
[백준 1927번 C++] 최소힙  (0) 2023.09.16
[백준 1966번 C++] 프린터 큐  (0) 2023.09.15
[백준 10866번 C++] 덱  (0) 2023.09.13
[백준 2164번 C++] 카드 2  (0) 2023.09.13