AcWing 823. 排列
原题链接
困难
作者:
牛奶小柒Luke
,
2021-02-10 20:55:54
,
所有人可见
,
阅读 262
简单递归一下
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 10;
int n;
void dfs(int k,int a[],bool judge[]){
if(k > n){
for(int i = 1;i <= n;++i){
cout << a[i] << ' ';
}
cout << endl;
}else{
for(int i = 1;i <= n;++i){
if(!judge[i]){
judge[i] = true;
a[k] = i;
dfs(k + 1,a,judge);
judge[i] = false;
}
}
}
}
int main(){
cin >> n;
int a[N];
bool judge[N] = {0};
dfs(1,a,judge);
return 0;
}