1158๋ฒ: ์์ธํธ์ค ๋ฌธ์
์ฒซ์งธ ์ค์ N๊ณผ K๊ฐ ๋น ์นธ์ ์ฌ์ด์ ๋๊ณ ์์๋๋ก ์ฃผ์ด์ง๋ค. (1 ≤ K ≤ N ≤ 5,000)
www.acmicpc.net
๋ฌธ์
์์ธํธ์ค ๋ฌธ์ ๋ ๋ค์๊ณผ ๊ฐ๋ค.
1๋ฒ๋ถํฐ N๋ฒ๊น์ง N๋ช ์ ์ฌ๋์ด ์์ ์ด๋ฃจ๋ฉด์ ์์์๊ณ , ์์ ์ ์ K(≤ N)๊ฐ ์ฃผ์ด์ง๋ค. ์ด์ ์์๋๋ก K๋ฒ์งธ ์ฌ๋์ ์ ๊ฑฐํ๋ค. ํ ์ฌ๋์ด ์ ๊ฑฐ๋๋ฉด ๋จ์ ์ฌ๋๋ค๋ก ์ด๋ฃจ์ด์ง ์์ ๋ฐ๋ผ ์ด ๊ณผ์ ์ ๊ณ์ํด ๋๊ฐ๋ค. ์ด ๊ณผ์ ์ N๋ช ์ ์ฌ๋์ด ๋ชจ๋ ์ ๊ฑฐ๋ ๋๊น์ง ๊ณ์๋๋ค. ์์์ ์ฌ๋๋ค์ด ์ ๊ฑฐ๋๋ ์์๋ฅผ (N, K)-์์ธํธ์ค ์์ด์ด๋ผ๊ณ ํ๋ค. ์๋ฅผ ๋ค์ด (7, 3)-์์ธํธ์ค ์์ด์ <3, 6, 2, 7, 5, 1, 4>์ด๋ค. N๊ณผ K๊ฐ ์ฃผ์ด์ง๋ฉด (N, K)-์์ธํธ์ค ์์ด์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ N๊ณผ K๊ฐ ๋น ์นธ์ ์ฌ์ด์ ๋๊ณ ์์๋๋ก ์ฃผ์ด์ง๋ค. (1 ≤ K ≤ N ≤ 5,000)
์ถ๋ ฅ
์์ ์ ๊ฐ์ด ์์ธํธ์ค ์์ด์ ์ถ๋ ฅํ๋ค.
์์ ์ ๋ ฅ
7 3
์์ ์ถ๋ ฅ
<3, 6, 2, 7, 5, 1, 4>
๋ฌธ์ ์ค๋ช
- 1~7๊น์ง ์ฐจ๋ก๋ก ํ์ ๋ฃ๋๋ค. -> queue[1, 2, 3, 4, 5, 6, 7]
- 1๊ณผ 2๋ ํ์ ๋ค๋ก ๋ณด๋ด๊ณ , 3๋ฒ์งธ ์์์ธ 3์ ๋จผ์ ์ ๊ฑฐ(์ถ๋ ฅ)ํ๋ค. -> <3
- 3์ ์ ๊ฑฐํ์ผ๋ 4๊ฐ 1๋ฒ์งธ ์์๊ฐ ๋๋ค. -> queue[4, 5, 6, 7, 1, 2]
- 4์ 5๋ ๋ค๋ก ๋ณด๋ด๊ณ 3๋ฒ์งธ ์์์ธ 6์ ์ ๊ฑฐ(์ถ๋ ฅ)ํ๋ค. -> <3, 6
- 6์ ์ ๊ฑฐํ์ผ๋ 7์ด 1๋ฒ์งธ ์์๊ฐ ๋๋ค. -> queue[7, 1, 2, 4, 5]
- 7๊ณผ 1์ ๋ค๋ก ๋ณด๋ด๊ณ 3๋ฒ์งธ ์์์ธ 2๋ฅผ ์ ๊ฑฐ(์ถ๋ ฅ)ํ๋ค. -> <3, 6, 2
- 2๋ฅผ ์ ๊ฑฐํ์ผ๋ 4๊ฐ ๋ค์ 1๋ฒ์งธ ์์๊ฐ ๋๋ค. -> queue[4, 5, 7, 1]
- 4์ 5๋ ๋ค๋ก ๋ณด๋ด๊ณ 3๋ฒ์งธ ์์์ธ 7์ ์ ๊ฑฐ(์ถ๋ ฅ)ํ๋ค. -> <3, 6, 2, 7
- ์ ๊ณผ์ ์ ํ์ ์ซ์ 1๊ฐ๊ฐ ๋จ์ ๋๊น์ง ๋ฐ๋ณตํ๋ค.
- ๋ง์ง๋ง ๋จ์ ์๋ฅผ ์ถ๋ ฅํ๊ณ ๊ดํธ๋ฅผ ๋ซ๋๋ค.
๋ฌธ์ ํ์ด
- queue.front() : ์ต์์ ๋ฐ์ดํฐ ๋ฐํ
- queue.push() : ๋ฐ์ดํฐ ์ถ๊ฐ
- queue.pop() : ์ต์์ ๋ฐ์ดํฐ ์ญ์
Solution
#include <iostream>
#include <queue>
using namespace std;
int main() {
int N, K, num;
cin >> N >> K;
queue<int> que;
for(int i=1; i<=N; i++)
que.push(i);
cout << '<';
while(que.size() > 1){
for(int i=0; i<K-1; i++){
num = que.front();
que.push(num);
que.pop();
}
cout << que.front() << ", ";
que.pop();
}
cout << que.front() << '>';
return 0;
}'๐งฉ Algorithm > [BOJ] Silver' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| BOJ 1654๋ฒ : ๋์ ์๋ฅด๊ธฐ (C++/Silver 2) (0) | 2022.09.18 |
|---|---|
| BOJ 10815๋ฒ : ์ซ์ ์นด๋ (C++/Silver 5) (0) | 2022.09.16 |
| BOJ 1094๋ฒ : ๋ง๋๊ธฐ (C++/Silver 5) (0) | 2022.09.05 |
| BOJ 2805๋ฒ : ๋๋ฌด ์๋ฅด๊ธฐ (C/Silver 2) (0) | 2022.07.22 |
| BOJ 2751๋ฒ : ์ ์ ๋ ฌํ๊ธฐ 2 (C++/Silver 5) (0) | 2022.07.11 |