C++
C++ 1158 요세푸스 문제, 요세푸스 문제 0 [큐]
CE : 하랑
2024. 10. 14. 20:54
코드
#include <iostream>
#include <queue>
#include <string>
int main()
{
std::ios::sync_with_stdio(false);
std::cin.tie(NULL);
std::string result = "<";
std::queue<int> Q;
int n,k;
std::cin >> n>> k;
for (int i = 1; i <= n; i++)
{
Q.push(i);
}
while (!Q.empty())
{
for (int i = 0; i <k-1; i++)
{
int num = Q.front();
Q.pop();
Q.push(num);
}
if (Q.size() == 1)
{
int num = Q.front();
result += std::to_string(num);
result += ">";
Q.pop();
}
else
{
int num = Q.front();
result += std::to_string(num);
result += ", ";
Q.pop();
}
}
std::cout << result;
}