자연수 N과 M이 주어졌을때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오
1부터 N까지 자연수 중에서 중복없이 M개를 고른 수열
#include <iostream>
#define MAX 9
using namespace std;
int n,m;
int arr[MAX] = {0,};
bool visited[MAX] = {0,};
void dfs(int cnt)
{
if(cnt == m)
{
for(int i = 0; i < m; i++)
cout << arr[i] << ' ';
cout << '\n';
return;
}
for(int i = 1; i <= n; i++)
{
if(!visited[i])
{
visited[i] = true;
arr[cnt] = i;
dfs(cnt+1);
visited[i] = false;
}
}
}
int main() {
cin >> n >> m;
dfs(0);
}