중복 가능, 오름차순
맨 처음에 아무 생각 없이 풀었다가
1 3 1
1 2 1
이런 것들도 가능하게 해서 틀렸다
DFS 함수에서 재귀할 때 idx 인자를 i로 바꿔주니 맞았다.
#include <iostream>
#include <vector>
using namespace std;
vector <int> v;
int N,M;
void DFS(int cnt, int idx)
{
if(cnt == M ){
for(int i=0;i<M;i++)
cout << v[i] <<" ";
cout << "\n";
return ;
}
for(int i=idx;i<N;i++){
v.push_back(i+1);
DFS(cnt+1,i);
v.pop_back();
}
}
int main(void)
{
cin >> N >> M ;
DFS(0,0);
return 0;
}
'알고리즘 > 백준' 카테고리의 다른 글
2805-나무 자르기 (0) | 2020.07.19 |
---|---|
14888-스타트와 링크 (0) | 2020.05.12 |
15651 - N과M(3) (0) | 2020.05.11 |
15650 - N과M(2) (0) | 2020.05.11 |
15649 - N과 M(1) (0) | 2020.05.11 |