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

递归_百炼 2748 全排列

时间:2018-01-27 23:14:47      阅读:268      评论:0      收藏:0      [点我收藏+]

标签:name   max   ack   vector   nal   cout   space   return   secure   

 

 

#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 全排列

标签:name   max   ack   vector   nal   cout   space   return   secure   

原文地址:https://www.cnblogs.com/MapReduce/p/8367402.html

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