poj 1731 Order
来源:互联网 发布:美国网络言论自由吗 编辑:程序博客网 时间:2024/06/04 01:30
Description
对于给出的一个字符串,输出其所有不重复全排列
Input
一个字符串
Output
该字符串的全部不重复全排列
Sample Input
bbjd
Sample Output
bbdj
bbjd
bdbj
bdjb
bjbd
bjdb
dbbj
dbjb
djbb
jbbd
jbdb
对于给出的一个字符串,输出其所有不重复全排列
Input
一个字符串
Output
该字符串的全部不重复全排列
Sample Input
bbjd
Sample Output
bbdj
bbjd
bdbj
bdjb
bjbd
bjdb
dbbj
dbjb
djbb
jbbd
jbdb
jdbb
1.直接用next_permutation(),它不会产生重复串
直接上代码
#include <iostream>#include <cstring>#include <cstdio>#include <algorithm>using namespace std;int main(){char s[300];int cnt;while(scanf("%s",s) != EOF){sort(s,s+strlen(s));cnt = strlen(s);do{puts(s);}while(next_permutation(c,c+cnt));}return 0;}2.递归 先排序 再去重 (利用一个字符)
附代码
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;int len,flag[300];char str[300],res[300];void dg(int x){char c = 0;if(x == len){printf("%s\n",res);return;}for(int i = 0;i<len;i++){if(!flag[i] && c != str[i]){res[x] = str[i];c = res[x];flag[i] = 1;dg(x + 1);flag[i] = 0;}}}int main(){while(scanf("%s",str) != EOF){memset(flag,0,sizeof(flag));len = strlen(str);sort(str,str+len);dg(0);}}
阅读全文
0 0
- poj 1731 Order
- poj 1270 Fowllow order
- poj 2013 Symmetric Order
- poj 2013 Symmetric Order
- poj 2013 Symmetric Order
- POJ 2013 Symmetric Order
- poj 2013 Symmetric Order
- poj 2013 Symmetric Order
- POJ 2013 - Symmetric Order
- POJ 2013 Symmetric Order
- [POJ] 2013 -> Symmetric Order
- POJ Symmetric Order
- POJ 2013 Symmetric Order
- 【POJ】Symmetric Order
- poj 2013 Symmetric Order 规律
- poj 2533 Longest Order Sequence
- OpenJudge/Poj 2013 Symmetric Order
- POJ 2013 Symmetric Order 水
- 类和对象
- async函数和await函数
- 网络套接字编程结构图
- Oracle
- TP跳点解决方案
- poj 1731 Order
- Tensorflow和Pytorch Mac版(支持CUDA)
- JavaScript模板引擎原理,几行代码的事
- 国内好的镜像地址
- uml-网上收集的资料
- JavaSE 实际应用
- 聊聊高并发系统之队列术
- listener
- AI决策算法 之 GOAP (一)