递归_百炼 2748 全排列

Posted mapreduce

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了递归_百炼 2748 全排列相关的知识,希望对你有一定的参考价值。

 

 

#define _CRT_SECURE_NO_WARNINGS  
#include <stdio.h>
#include <math.h>
#include <algorithm>
#include <stdlib.h>
#include <vector>
#include <map>
#include <queue>
#include <string>
#include <iostream>
#include <ctype.h>
#include <string.h>
#include <set>
#include <stack>
#include<functional>
using namespace std;
#define Size 27
#define maxn  1<<30
int  mark[Size];
int b[Size];
char a[Size];
set<char> s;
vector<char> v;
int len;
void dfs(int pos){
    if (pos > len){
        vector<char>::iterator iter = v.begin();
        for (; iter < v.end(); iter++)
            cout << *iter;
        cout << endl;
        return;
    }
    for (int i = 0; i < 26; i++){
        if (b[i] && mark[i] == 0)
        {
            char c = i+ a;
            v.push_back(c);
            mark[i] = 1;
            dfs(pos + 1);
            mark[i] = 0;
            v.pop_back();
        }
    }
}
int main(){

    cin >> a;
    len = strlen(a);
    for (int i = 0; i < len; i++)
        b[a[i] - a]++;
    dfs(1);
    system("pause");
    return 0;
}

 

以上是关于递归_百炼 2748 全排列的主要内容,如果未能解决你的问题,请参考以下文章

算法之使用递归求解全排列

无重复全排列_非递归实现

递归基础_全排列(一般递推实现)

递归_百炼 2787 算24

递归_百炼 1321 棋盘问题

递归_百炼2754 八皇后问题