题目描述
blablabla
样例
#include <iostream>
using namespace std;
const int N = 10;
int path[N];
int n;
bool st[N];
void dfs(int u){
if(u == n){//走到了第n位,输出
for(int i = 0; i<n; i++) printf("%d ", path[i]);
printf("\n");
return;
}
for(int i = 1; i<=n; i++){//递归找没有用到的数,填到当前位
if(!st[i]){
st[i] = true;
path[u] = i;
dfs(u+1);
st[i] = false;//回溯复用过的数复原
}
}
}
int main(){
cin >> n;
dfs(0);
return 0;
}
算法1
(暴力枚举) O(n2)
blablabla
时间复杂度
参考文献
C++ 代码
blablabla
算法2
(暴力枚举) O(n2)
blablabla
时间复杂度
参考文献
C++ 代码
blablabla