문제 출처: https://www.acmicpc.net/problem/2164
Silver 4
어떤 방법을 이용해도 좋지만 stl deque 사용했다.
#include <iostream>
#include <algorithm>
#include <deque>
using namespace std;
int main() {
int N;
cin >> N;
deque<int> d;
for (int i = 1; i <= N; i++) {
d.push_back(i);
}
while (d.size() > 1) {
d.pop_front();
if (d.size() == 1) break;
d.push_back(d.front());
d.pop_front();
}
cout << d.front() << "\n";
return 0;
}