排列数字(dfs)

时间:2025-01-28 07:49:32
#include<bits/stdc++.h>
using namespace std;
int n;
int visit1[10],path[10];
void dfs(int u)
{
    if(u>n)
    {
        for(int i=1;i<=n;i++)
        {
            if(visit1[i]==true)
            {
                cout<<path[i]<<" ";
            }
            
            
        }cout<<endl;
        return;
    }
    else
    {
        for(int i=1;i<=n;i++)
        {
            if(visit1[i]==false)
            {
                path[u]=i; 
            visit1[i]=true;
            dfs(u+1);
            visit1[i]=false;
            }
            
        }
    }
}
int main ()
{
    
    cin>>n;
    dfs(1);
    return 0;
}