반응형

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

 

1158번: 요세푸스 문제

첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,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(">");
}
반응형

'Algorithm' 카테고리의 다른 글

백준 10799 : 쇠막대기  (0) 2021.11.14
백준 2164 : 카드2  (0) 2021.11.14
프로그래머스 : 스티커 모으기(2)  (0) 2021.11.14
프로그래머스 : 숫자 게임  (0) 2021.11.14
백준 11279 : 최대 힙  (0) 2021.11.14

+ Recent posts