【codevs1294】全排列

problem

solution

codes

#include<iostream>
using namespace std;
int n, c[20];
void dfs(int cur){
    if(cur == n){
        for(int i = 0; i < n; i++)cout<<c[i]<<" ";
        cout<<"
";
    }else for(int i = 1; i <= n; i++){
        int ok = 1;
        for(int j = 0; j < cur; j++)
            if(c[j]==i)ok = 0;
        if(ok){
            c[cur] = i;
            dfs(cur+1);
        }
    }
}
int main(){
    cin>>n;
    dfs(0);
    return 0;
}
原文地址:https://www.cnblogs.com/gwj1314/p/9444756.html