1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| int n; int path[N]; bool st[N];
void dfs(int u){ if(u==n){ for(int i=0;++i) printf("%d ", path[i]); return; } for(int i=1;i<=n;++i){ if(!st[i]){ path[u] = i; st[i]=true; dfs(u+1); st[i]=false; } } }
|