Code
#include <bits/stdc++.h>
using namespace std;
int n,r,a[25];
bool book[25] = {false};
void dfs(int k){
if(k > r){
for(int i = 1; i <= r-1; i++)
if(a[i] > a[i+1]) return;
for(int i = 1; i <= r; i++)
printf("%3d",a[i]);
cout << "\n";
return;
}
for(int i = 1; i <= n; i++){
if(!book[i]){
a[k] = i;
book[i] = true;
dfs(k+1);
book[i] = false;
}
}
}
int main(){
cin >> n >> r;
dfs(1);
return 0;
}