-
백준 1158 요세푸스 문제Computer Science/백준 Boj 2023. 10. 19. 16:20
https://www.acmicpc.net/problem/1158
큐를 사용한다. pop()과 push()를 반복함으로써 k - 1 만큼 회전시키고 k번째 정수를 pop() 한다.
#include "pch.h" int main() { queue<int> queue; int n = 0, k = 0; cin >> n >> k; for (int i = 0; i < n; ++i) { queue.push(i + 1); } int value = 0; cout << "<"; while (queue.size() > 1) { for (int i = 1; i < k; ++i) { value = queue.front(); queue.pop(); queue.push(value); } value = queue.front(); queue.pop(); cout << value; cout << ", "; } value = queue.front(); cout << value; cout << ">"; cout << '\n'; queue.pop(); return 0; }
'Computer Science > 백준 Boj' 카테고리의 다른 글
백준 1238 파티 C++ (0) 2023.10.20 백준 1202 보석 도둑 (0) 2023.10.19 백준 1018 체스판 다시 칠하기 (0) 2023.10.19 7.1 QuickSort (0) 2023.09.06 [백준]c++/구현/2573 (0) 2023.03.04