오름차순은 어떨까요
조합을 구하는 코드에서 중복을 허용하도록 visit 관련 코드를 제거하자.
#include <iostream>
#include <vector>
using namespace std;
int N, M;
vector<int> v;
void solution(int now, int lev) {
if (lev == M) {
for (int i = 0; i < v.size(); i++) cout << v[i] << " ";
cout << "\n";
return;
}
for (int i = now; i <= N; i++) {
v.push_back(i);
solution(i, lev + 1);
v.pop_back();
}
}
int main() {
cin >> N >> M;
solution(1, 0);
return 0;
}