Algorithm

백준 11866 : 요세푸스 문제 0

쿠케캬캬 2021. 11. 14. 01:50
반응형

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

 

11866번: 요세푸스 문제 0

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

www.acmicpc.net

 

#include <iostream>
#include <queue>
using namespace std;
queue<int> q;
int n, k, c = 0, ans[5000], cnt = 0;
int main() {
	scanf("%d %d", &n, &k);
	for (int i = 1; i <= n ; i++)q.push(i);
	while (!q.empty()) {
		if (++c == k) c = 0, ans[cnt++] = q.front();
		else q.push(q.front());
		q.pop();
	}
	printf("<%d", ans[0]);
	for (int i = 1; i < cnt; i++) printf(", %d", ans[i]);
	printf(">");
}
반응형