题目描述:

设R={ r1, r2 , …, rn}是要进行排列的n个元素。其中元素r1, r2 , …, rn均为小写字母并且可能相同。试设计一个算法,列出R的所有不同排列。

给定n 以及待排列的n 个元素。计算出这n 个元素的所有不同排列。

输入格式:

第1 行是元素个数n,1≤n≤500。接下来的1 行是待排列的n个元素。

输出格式:

计算出的n个元素的所有不同排列

最后1行中的数是排列总数

样例输入:

4
aacc

样例输出:

aacc
acac
acca
caac
caca
ccaa
6 思路:这题特别明显了,深搜。枚举每一个组合的可能(前提是不重复)。 上我的垃圾代码:
#include<bits/stdc++.h>
using namespace std;
char b[],c;
int a[],n,num;
void dfs(int pos){
if(pos>n){
num++;
for(int i=;i<=n;i++)printf("%c",b[i]);
printf("\n");
return;
}
for(int i=;i<=;i++)
if(a[i]>){
b[pos]=char(i+);
a[i]--;
dfs(pos+);
a[i]++;
}
}
int main(){
cin>>n;
for(int i=;i<=n;i++){
cin>>c;
a[c-('a'-)]++;
}
dfs();
cout<<num<<endl;//输出种数
return ;
}

最新文章

  1. 用Java代码实现拦截区域网数据包
  2. Unix目录结构的来历
  3. C#复习③
  4. 安装Docker Toolbox后出现的问题
  5. 异步post请求之Block方法
  6. An Introduction to Interactive Programming in Python (Part 1) -- Week 2_1 练习
  7. iOS: imageIO完成渐进加载图片
  8. Java基础知识强化之集合框架笔记67:Hashtable的实现原理
  9. php中抽象类和接口的特点、区别和选择
  10. Linux下搭建tomcat集群全记录(转)
  11. 多目标遗传算法 ------ NSGA-II (部分源码解析)介绍
  12. XSS过滤JAVA过滤器filter 防止常见SQL注入
  13. [转]k8s核心概念
  14. Spring将Bean导入IOC容器
  15. python中多继承C3算法研究
  16. 利用django信号实现计数功能
  17. css样式中的绝对路径的参考对象
  18. IDFA
  19. 20155226-虚拟机与Linux之初体验
  20. 【BZOJ 2656】2656: [Zjoi2012]数列(sequence) (高精度)

热门文章

  1. Luogu P3065 [USACO12DEC]第一!First!【字典树/拓扑排序】By cellur925
  2. Tomcat,Apache,JBoss的区别
  3. JavaScript进阶 - 第9章 DOM对象,控制HTML元素
  4. Educational Codeforces Round 66 (Rated for Div. 2) A. From Hero to Zero
  5. hdu5884
  6. HTTP状态码完整版
  7. display:inline-block间隙产生的原因以及解决方案
  8. 网站安全webshell扫描
  9. myeclipes出现{Could not create the view: An unexpected except
  10. vijos 1320 清点人数