poj1731 - Orders
来源:互联网 发布:win7下怎么卸载Ubuntu 编辑:程序博客网 时间:2024/06/05 22:15
想看更多的解题报告:http://blog.csdn.net/wangjian8006/article/details/7870410
转载请注明出处:http://blog.csdn.net/wangjian8006
题目大意:给出一个字符串,字符串不超过200位,问这个字符串的所有全排列,不过这个字符串里面是有重复的
解题思路:因为字符串是无序的,所以首先要把输入的字符串按小到大去排序,和经典全排列不同的是他有重复的字母,那么我们在递归的时候需要处理一下,就是本次递归的字母不用上次选的字母,根据一个这样的处理就可以避免重复的排列出现
#include <iostream>#include <algorithm>using namespace std;#define MAXV 210int t,a[MAXV];char s[MAXV],pr[MAXV];void pl(int cap){ char c=0; int j; if(cap==t){ printf("%s\n",pr); return ; } for(j=0;j<t;j++){ if(!a[j] && c!=s[j]){ pr[cap]=c=s[j]; a[j]=1; pl(cap+1); a[j]=0; } }}int main(){ while(gets(s)){ memset(a,0,sizeof(a)); t=strlen(s); pr[t]='\0'; sort(s,s+strlen(s)); pl(0); } return 0;}
- poj1731 - Orders
- POJ1731 Orders
- poj1731 Orders
- poj1731 Orders (全排列)
- poj1731 Orders dfs
- POJ1731 Orders【全排列+字符串排序】
- POJ1731 Orders 全排列(两种方法)
- POJ1731
- POJ1731
- Orders
- Orders
- Orders
- Orders
- poj1731 next_permutation
- to_date orders
- poj1270Following Orders
- Orders Poj
- Orders - 1731
- lotus表单中域的类型
- Android Log分析之法
- 纹理正确的映射到四边形上
- easyUI Pagination
- oracle表的基本操作语句
- poj1731 - Orders
- 【动态规划】受受的刷题计划
- 如何用SendMessage()函数传递字符串
- AudioToolbox学习笔记(转)
- java代理中对时间的格式化
- Flex 页面空白或Error #2032: 流错误处理惩罚办法
- linker截获API调用
- [centos6.2]修改dhcp服务日志的记录位置
- lotus中后台java代理对表单文档的保存