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 |