解题思路:
注意事项:
参考代码:
#include <iostream> using namespace std; int n; bool vis[11]; int arr[11]; void dfs(int step){ if(step==n+1){ for(int i=1;i<=n;i++){ printf("%d ",arr[i]); } printf("\n"); return; } for(int i=1;i<=n;i++){ if(!vis[i]){ vis[i]=true; arr[step]=i; dfs(step+1); vis[i]=false; } } } int main(){ scanf("%d",&n); dfs(1); return 0; }
0.0分
0 人评分