์์ธํธ์ค ๋ฌธ์ ๋ ๋ค์๊ณผ ๊ฐ๋ค.
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)
์ถ๋ ฅ
์์ ์ ๊ฐ์ด ์์ธํธ์ค ์์ด์ ์ถ๋ ฅํ๋ค.
๋ฌธ์ ํด๊ฒฐ๊ธฐ๋ฒ OT ์๊ฐ์ ๊ต์๋์ด ์ธ๊ธํ์ ์๊ณ ๋ฆฌ์ฆ์ด๋ค.
๋ญ์ง ๊ถ๊ธํด์ ์ฐพ์๋ดค๋๋ฐ ๋ฐฑ์ค์ ๋ฌธ์ ๊ฐ ์๊ธธ๋ ํ์ด๋ด~~~~
ํ๋ฅผ ์ฌ์ฉํด์ ์ฝ๊ฒ ํ ์ ์์๋ฐ
๋์ ํ์ด
#include <iostream>
#include <queue>
#include <vector>
using namespace std;
int main(){
int n;
int k;
cin >> n >> k;
queue<int> q;
vector<int> v;
for (int i = 1; i <= n; ++i){
q.push(i);
}
int cnt = 1;
while (!q.empty()){
int tmp = q.front();
q.pop();
if(cnt%k == 0){
v.push_back(tmp);
}
else q.push(tmp);
cnt++;
}
cout <<'<';
for (int i = 0; i < n; ++i){
if(i==n-1) cout << v[i] <<'>';
else cout << v[i] << ", ";
}
}
'๐ ์๊ณ ๋ฆฌ์ฆ > BOJ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[C++/BOJ] 10971 : ์ธํ์ ์ํ 2 (์์ ํ์, dfs, Backtracking) (0) | 2023.03.06 |
---|---|
[C++/BOJ] 9663 : N-Queen (์์ ํ์, Backtracking) (0) | 2023.03.06 |
[C++/BOJ] 7562 : ๋์ดํธ์ ์ด๋ (BFS) (0) | 2023.03.02 |
[C++/BOJ] 1309 : ๋๋ฌผ์ (DP) (0) | 2023.02.23 |
[C++/BOJ] 2225 : ํฉ๋ถํด (DP) (0) | 2023.02.23 |