博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
全排列 51Nod - 1384 ( 搜索dfs / STL - next_permutation函数 )
阅读量:4048 次
发布时间:2019-05-25

本文共 796 字,大约阅读时间需要 2 分钟。

 

给出一个字符串S(可能有重复的字符),按照字典序从小到大,输出S包括的字符组成的所有排列。

例如:S = "1312",

输出为:

1123

1132

1213

1231

1312

1321

2113

2131

2311

3112

3121

3211

Input

输入一个字符串S(S的长度 <= 9,且只包括0 - 9的阿拉伯数字)

Output

输出S所包含的字符组成的所有排列

Sample Input

1312                                                                                                                                                                                                

Sample Output

1123

1132
1213
1231
1312
1321
2113
2131
2311
3112
3121
3211

题意:

找到所有的组合,要注意的是会有重复的数字。

dfs代码: 

#include
#include
#include
#include
using namespace std;char s[11];int vis[11];char c[11];void dfs(int step){ if(step==strlen(s)) { printf("%s\n",c); return; } for(int i=0;i

STL - next_permutation函数代码:

#include 
#include
#include
using namespace std; int main(){ char a[11]; scanf ("%s",a); int l = strlen(a); sort(a,a+l); do { printf ("%s\n",a); }while (next_permutation(a,a+l)); return 0;}

 

转载地址:http://oszci.baihongyu.com/

你可能感兴趣的文章
Maven项目版本继承 – 我必须指定父版本?
查看>>
通过C++反射实现C++与任意脚本(lua、js等)的交互(二)
查看>>
利用清华镜像站解决pip超时问题
查看>>
[leetcode BY python]1两数之和
查看>>
微信小程序开发全线记录
查看>>
PTA:一元多项式的加乘运算
查看>>
CCF 分蛋糕
查看>>
解决python2.7中UnicodeEncodeError
查看>>
小谈python 输出
查看>>
Django objects.all()、objects.get()与objects.filter()之间的区别介绍
查看>>
python:如何将excel文件转化成CSV格式
查看>>
机器学习实战之决策树(一)
查看>>
机器学习实战之决策树二
查看>>
[LeetCode By Python]7 Reverse Integer
查看>>
[leetCode By Python] 14. Longest Common Prefix
查看>>
[LeetCode By Python]121. Best Time to Buy and Sell Stock
查看>>
[LeetCode By Python]122. Best Time to Buy and Sell Stock II
查看>>
[LeetCode By Python]125. Valid Palindrome
查看>>
[LeetCode By Python]136. Single Number
查看>>
Android/Linux 内存监视
查看>>