码迷,mamicode.com
首页 > 其他好文 > 详细

全排列

时间:2020-03-12 23:15:39      阅读:81      评论:0      收藏:0      [点我收藏+]

标签:标记   bool   max   code   image   tar   none   cto   inf   

技术图片

#include <iostream>
#include <cstdio>
#include <vector>
using namespace std;
const int MAXN = 10;
bool isUsed[MAXN];
vector<int> ans;
int N;
void DFS(int index) {
    if (index >= N) { //边界条件
        for (int i = 0; i < ans.size(); ++i) {
            printf("%d ",ans[i]);
        }
        printf("\n");
        return ;
    }
    for (int i = 1; i <= N; ++i) {
        if (isUsed[i]) {
            continue;
        }
        ans.push_back(i);
        isUsed[i] = true;    //标记该节点被访问
        DFS(index + 1);
        ans.pop_back();        
        isUsed[i] = false;
    }
} 
int main() {
    cin >> N;
    DFS(0);                //从第 0层开始 
    return 0;
} 

全排列

标签:标记   bool   max   code   image   tar   none   cto   inf   

原文地址:https://www.cnblogs.com/snailzh/p/12483435.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!