数的全排列问题
//数的全排列问题 //输入整数n 字典序输出1-n的全排列 #include "iostream" #include "cstdio" #include "cstring" using namespace std; int visit[9]; int ans[9]; int n; void dfs(int k) { if(k==n) { for(int i=0;i<n;i++) printf("%d ",ans[i]); printf("\n"); return ; } for(int i=0;i<n;i++) { if(visit[i]) continue; ans[k]=i+1; visit[i]=1; dfs(k+1); visit[i]=0; } } int main() { while(~scanf("%d",&n)) { memset(visit,0,sizeof(visit)); dfs(0); } return 0; }