您的位置:首页 > 编程语言 > C语言/C++

51Nod基础题-1384-全排列(搜索)

2016-03-18 11:56 295 查看
给出一个字符串S(可能又重复的字符),按照字典序从小到大,输出S包括的字符组成的所有排列。例如:S = “1312”,

输出为:

1123

1132

1213

1231

1312

1321

2113

2131

2311

3112

3121

3211

Input

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

Output

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

Input示例

1312

Output示例

1123

1132

1213

1231

1312

1321

2113

2131

2311

3112

3121

3211

#include <iostream>
#include <cstdio>
#include <string.h>
#include <algorithm>
using namespace std;
int n,m;
char a[10];

int main(){
gets(a);
int len = strlen(a);
sort(a, a + len);

do{
cout << a << endl;
}while(next_permutation(a,a + len));

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C++ 搜索