티스토리 뷰

백준

백준 소스코드 [C++] 1158 요세푸스 문제

Hani_Levenshtein 2020. 9. 9. 15:18

www.acmicpc.net/problem/1158

 

1158번: 요세푸스 문제

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

www.acmicpc.net

백준 소스코드 [C++] 1158 요세푸스 문제

#include <iostream>
#include <utility>
#include <vector>
#include <queue>
#include <algorithm>
#include <string>
using namespace std;
int main() {
	queue <int> q;
	int n, k;
	cin >> n >> k;
	for (int i = 1;i <= n;i++) q.push(i);
	cout << "<";
	while ((int)q.size() != 1) {
		for (int j = 0;j < k-1;j++) {
			q.push(q.front());
			q.pop();
		}
		cout << q.front() << ", ";
		q.pop();
	}
	cout << q.front() << ">";
 	return 0;
}
댓글