1. 程式人生 > >dfs求全排列模板

dfs求全排列模板

#include<iostream>
#define N 5 //當N等於5求1-5全排列 
using namespace std;
string ans(N, '0');//這裡為了方便用了字串型別
int book[N+1]={0};
int dfs(int step)
{
    if(step>N)
    {
        cout<<ans;
        cout<<endl;
        return 0;
    }
    for(int i=1;i<=N;i++)
    {
        if(book[i]==0)
        {
            ans[step-1
]='0'+i; book[i]=1; dfs(step+1); book[i]=0; } } return 0; } int main() { dfs(1); return 0; }