1. #include<stdio.h> 2. int n,a[10],step,visit[10]; 3. void dfs(int step) 4. { 5. if(step==n+1) 6. { 7. for(int i=1;i<=n;i++) 8. { 9. printf("%d ",a[i]); 10. 11. } 12. printf("\n\n"); 13. return ; 14. } 15. for(int i=1;i<=n;i++) 16. { 17. if(visit[i]==0) 18. { 19. a[step]=i; 20. visit[i]=1; 21. dfs(step+1); 22. visit[i]=0; 23. } 24. } 25. return ; 26. } 27. int main() 28. { 29. scanf("%d",&n); 30. dfs(1); 31. return 0; 32. }