현재 상태에서 가능한 모든 후보군을 따라 들어가며 탐색하는 알고리즘
N과M
....
int n, m;
int arr[10];
bool isused[10];
void func(int k){
if(k == m){
for(int i =0 ; i< m; i++) cout << arr[i] << ' ';
cout << '\n';
return;
}
for(int i = 1; i <=n; i++){
if(!isused[i]){
arr[k] = i;
isused[i] = 1;
func(k+1);
isused[i] = 0;
}
}
}