[BOJ 백준] 2164번 카드2 / C++
문제
문제를 보시려면 링크를 클릭해주세요.
풀이
STL queue를 사용하여 풀었습니다.
[삭제, 삽입, 삭제]
를 반복하다 큐의 크기가 1이 되는 순간, 남은 값이 정답임을 알 수 있습니다.
소스 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <iostream>
#include <queue>
using namespace std;
int main(int argc, char**argv) {
ios::sync_with_stdio(0);
cin.tie(0);
queue<int> Q;
int N;
cin >> N;
for(int i=1;i<=N;i++){
Q.push(i);
}
while(Q.size()>1){
Q.pop();
Q.push(Q.front());
Q.pop();
}
cout << Q.front();
return 0;
}
This post is licensed under CC BY 4.0 by the author.
Comments powered by Disqus.