在进行递归回溯的思考过程中忽略For循环的作用,导致许久不能正确推到回溯的过程
#include<iostream>
using namespace std;
const int N=10;
int n;
int a[N];
int path[N];
void dfs(int u){
if(u==n){
for(int i=0;i<n;i++){
cout<<path[i]<<' ';
}
cout<<endl;
return ;
}
else{
for(int i=1;i<=n;i++){
if(!a[i]){
path[u]=i;
a[i]=1;
dfs(u+1);
a[i]=0;
}
}
return ;
}
}
int main(){
cin>>n;
dfs(0);
return 0;
}