๋ฌธ์
https://www.acmicpc.net/problem/15650
๋ฌธ์ ์ดํด
- 1๋ถํฐ N๊น์ง ์์ฐ์ ์ค์์ ์ค๋ณต ์์ด M๊ฐ๋ฅผ ๊ณ ๋ฅธ ์์ด์ ์ถ๋ ฅํ๋ค.
- ๊ณ ๋ฅธ ์์ด์ ์ค๋ฆ์ฐจ์์ด์ด์ผ ํ๋ค.
๋ฌธ์ ํ์ด
๐ก DFS๋ฅผ ์ด์ฉํ ๋ฐฑํธ๋ํน
์ด์ ์ ์ฌ๋ฆฐ N๊ณผ M (1) ๋ฌธ์ ์์, ์ถ๋ ฅํ ์์ด์ด ์ค๋ฆ์ฐจ์์ธ ๊ฒ๋ง ์ถ๊ฐ๋์๋ค.
[BOJ][C++] ๋ฐฑ์ค 15649๋ฒ: N๊ณผ M (1)
๋ฌธ์ https://www.acmicpc.net/problem/15649 ๋ฌธ์ ์ดํด1๋ถํฐ N๊น์ง ์์ฐ์ ์ค์์ ์ค๋ณต ์์ด M๊ฐ๋ฅผ ๊ณ ๋ฅธ ์์ด์ ๋ชจ๋ ๊ตฌํ๋ค. ๋ฌธ์ ํ์ด๐กDFS๋ฅผ ์ด์ฉํ ๋ฐฑํธ๋ํน 1๋ถํฐ N๊น์ง ์ฌ๊ทํจ์๋ฅผ ์ด์ฉํด ํ์ํ
y-e-99.tistory.com
N๊ณผ M (1)๊ณผ ํ์ด ๋ฐฉ์์ด ๋น์ทํ๋ฐ, for ๋ฐ๋ณต๋ฌธ์์ i๊ฐ์ ์ด์ฉํ๋ฉด ์ค๋ณต์์ด ์ค๋ฆ์ฐจ์์ผ๋ก ์๋ฅผ ๊ณ ๋ฅผ ์ ์๋ค.
๊ทธ๋์ ๋ฐฉ๋ฌธ ํ๊ธฐ ๋ฐฐ์ด์ด ํ์ํ์ง ์๋ค.
- ์ข
๋ฃ ์กฐ๊ฑด
: M๊ฐ์ ์๋ฅผ ๋ชจ๋ ์ ํํ์ ๋ - ํ์
- ์ง์ ๋ ์๋ถํฐ N๊น์ง ํ์์ ๋ฐ๋ณตํ๋ค. ์ง์ ๋ ์๋ 1๋ถํฐ N๊น์ง ์ฆ๊ฐํ์ฌ, ์์ด์ด ์ค๋ฆ์ฐจ์์ด ๋๋๋ก ํ๋ค.
- ํ์ํ ์๋ฅผ ์ถ๋ ฅํ ๋ฐฐ์ด์ ์ฝ์ ํ๋ค.
- ํ์์ด ๋๋ ์๋ฅผ ๋ฐฐ์ด์์ ์ ๊ฑฐํ๋ค. - ํ์ ์ข
๋ฃ
- ์ ํํ M๊ฐ์ ์๊ฐ ๋ด๊ธด ๋ฐฐ์ด์ ์ถ๋ ฅ ํ ํ์์ ์ข ๋ฃํ๋ค.
์ฝ๋
#include<iostream>
#include<vector>
using namespace std;
int N, M;
vector<int> v;
void dfs(int num, int cnt) {
if (cnt == M) {
for (int i: v)
cout << i << ' ';
cout << '\n';
return;
}
for (int i = num; i <= N; i++) {
v.push_back(i);
dfs(i + 1, cnt + 1);
v.pop_back();
}
}
int main() {
cin >> N >> M;
dfs(1, 0);
return 0;
}
'๐ญ Problem Solving > C++' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ][C++] ๋ฐฑ์ค 3085๋ฒ: ์ฌํ ๊ฒ์ (0) | 2024.10.30 |
---|---|
[BOJ][C++] ๋ฐฑ์ค 1789๋ฒ: ์๋ค์ ํฉ (0) | 2024.10.29 |
[BOJ][C++] ๋ฐฑ์ค 15649๋ฒ: N๊ณผ M (1) (0) | 2024.10.28 |
[SWEA][C++] 1289. ์์ฌ์ ๋ฉ๋ชจ๋ฆฌ ๋ณต๊ตฌํ๊ธฐ (0) | 2024.10.16 |
[BOJ][C++] ๋ฐฑ์ค 2002๋ฒ: ์ถ์ (0) | 2024.06.14 |