#include<string.h>
int a[500],vis[500],j,k,n;
void dfs(int cur){
if(cur==n+1){
for(int x=1;x<=n;x++) printf("%d ",a[x]);
printf("\n");
}
else for(int i=1;i<=n;i++){
if(vis[i]==0){
vis[i]=1;a[cur]=i;
dfs(cur+1);
vis[i]=0;
}
}
}
int main(){
memset(vis,0,sizeof(vis));
scanf("%d",&n);
dfs(1);
return 0;
}
第十天
误区:错误的的将 i 设为全局变量导致回溯错误