BOJ 1158 요세푸스 c++
백준 1158 요세푸스 cpp
#include <bits/stdc++.h>
using namespace std;
int n, k;
list<int> editor;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cin >> n >> k;
for (int i = 1; i <= n; i++) {
editor.push_back(i);
}
cout << '<';
auto t = editor.begin();
while(n--) {
int ea = k-1;
while (ea--){
if (!(t == editor.end()))
t++;
else {
t=editor.begin();
t++;
}
}
if (t == editor.end())
t = editor.begin();
cout << *t;
if (!(editor.end() == t))
t = editor.erase(t);
else {
t = editor.begin();
editor.erase(t);
}
if (!(n == 0))
cout << ", ";
}
cout << '>';
}
원형 리스트를 이용.
'Algorithm' 카테고리의 다른 글
BOJ 1874 스택 수열 c++ (0) | 2020.08.18 |
---|---|
BOJ 10773 제로 c++ (0) | 2020.08.18 |
BOJ 5397 키로거 c++ (0) | 2020.08.16 |
BOJ 1475 방 번호 c++ (0) | 2020.08.15 |
BOJ 1919 에너그램 만들기 c++ (0) | 2020.08.15 |
최근댓글