输出自然数1到n所有不重复的排列,即n的全排列,要求所产生的任一数字序列中不允许出现重复的数字。
样例输入1
3
样例输出1
1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1
code:
#include <bits/stdc++.h> using namespace std; int a[101],n; bool v[21]; void dfs(int k){ if(k == n+1){ for(int i = 1;i<=n;i++){ cout<< a[i]<<" "; } cout<<endl; return; } for(int i = 1;i<=n;i++){ if(!v[i]){ a[k] = i; v[i] = true; dfs(k+1); v[i] = 0; } } } int main(){ cin>>n; dfs(1); }
标签:输出,排列,int,样例,dfs,问题,重复 From: https://www.cnblogs.com/nasia/p/17177908.html