加载中...

全排列

#include<iostream>
#define MAX 10000
using namespace std;

int n;
int vis[MAX] = {0};

void dfs(int l,int s)//l指示当前长度,s表示当前数字
{
    if(l==n)
    {
        cout<<s<<endl;
        return;
    }
    for(int i=1;i<=n;i++)
    {
        if(vis[i]==0)
        {
            vis[i]=1;
            dfs(l+1,s*10+i);
            vis[i]=0;
        }
    }
}
int main()
{
    //freopen("C://in.txt","r",stdin);
    cin>>n;
    dfs(0,0);
}
posted @ 2022-11-01 18:08  biubidio  阅读(27)  评论(0)    收藏  举报