万物皆可DFS
dfs 解法
我这个应该是比较简单的方法了吧?
程序:
#include <bits/stdc++.h>
using namespace std;
int arr[10];
int vis[10];
int n,r;
void dfs(int x, int t){
if(x>r){
for(int i=1;i<=r;i++){
printf("%5d", arr[i]);
}
cout << endl;
return;
}
for(int i=t+1;i<=n;i++){
if(vis[i] == 0){
arr[x] = i;
vis[i] = 1;
dfs(x+1, i);
vis[i] = 0;
}
}
}
int main(){
cin >> n >> r;
dfs(1,0);
return 0;
}