#include<bits/stdc++.h> using namespace std; int a[100],n,r; bool f[100]; void print(){ for(int i = 1;i <= r;i++){ cout<<a[i]<<" "; } cout<<endl; } void dfs(int k){ for(int i = 1;i <= n;i++){ if(f[i] == false && (k == 1 || i > a[k-1])){ f[i] = true; a[k] = i; if(k == r){ print(); }else{ dfs(k+1); } f[i] = false; } } } int main(){ cin>>n>>r; dfs(1); } /************************************************************** Problem: 1686 User: admin Language: C++ Result: Accepted Time:9 ms Memory:2072 kb ****************************************************************/