관리 메뉴

Mini

백준 1158 cpp 본문

Algorithm/boj

백준 1158 cpp

Mini_96 2023. 1. 18. 21:25

 

https://www.acmicpc.net/problem/1158

 

1158번: 요세푸스 문제

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

www.acmicpc.net

#include <iostream>
#include <vector>
#include <algorithm>
#include <queue>
using namespace std;

queue<int> q;
int main() 
{
	int n, k;	//1~n개, k개지나면아웃
	cin >> n >> k;

	for (int i = 1; i <= n; ++i)
	{
		q.push(i);
	}//입력끝

	int cnt = 1;
	cout << "<";
	while (!q.empty())
	{
		int a = q.front();	//값 임시저장
		q.pop();

		if (cnt == k)	//k번째가 되면 아웃
		{
			if (q.size() == 0)
				cout<<a<<">";
			else
				cout << a<<", ";

			cnt = 1;
		}
		//k번째가아니면 다시 뒤로넣어
		else
		{
			cnt++;
			q.push(a);
		}
		
	}
	//cout << ">";
    
}

'Algorithm > boj' 카테고리의 다른 글

백준 3986 좋은단어  (0) 2023.01.25
백준 10808 알파벳 개수  (0) 2023.01.24
백준 1110  (0) 2023.01.18
백준 3040  (0) 2023.01.16
백준 1966 프린터 큐  (0) 2023.01.16