티스토리 뷰
문제
출처 : https://www.acmicpc.net/problem/1158
풀이과정
1부터 n까지의 정수를 큐를 활용하여 저장한 후에 m번째 사람의 제거를 위해 반복문을 돌린다.
m번째가 아닌 사람들은 front에서 나간 후 다시 back으로 넣어준다.
큐를 활용하면 쉬운 문제였다.
소스코드
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 31 32 33 34 | #include <iostream> #include <queue> using namespace std; int main() { int n, m; cin.sync_with_stdio(false); cin >> n >> m; queue<int> q; for (int i = 1; i <= n; i++) { q.push(i); } cout << "<"; for (int i = 0; i<n - 1; i++) { for (int j = 0; j<m - 1; j++) { q.push(q.front()); q.pop(); } cout << q.front() << ", "; q.pop(); } cout << q.front() << ">\n"; return 0; } | cs |
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 2606번 바이러스 (0) | 2017.12.20 |
---|---|
[백준] 11655번 ROT13 (0) | 2017.12.19 |
[백준] 1874번 스택 수열 (1) | 2017.12.14 |
[백준] 1406번 에디터 (0) | 2017.12.13 |
[백준] 10799번 쇠막대기 (0) | 2017.12.12 |