Description
设 R=R=R={r1,r2,…,rnr_1,r_2,…,r_nr1​,r2​,…,rn​} 是要进行排列的 nnn 个元素。其中元素 r1,r2,…,rnr_1,r_2,…,r_nr1​,r2​,…,rn​ 是小写字母,且可能相同。试设计一个算法, 列出 RRR 的所有不同排列。给定 nnn 以及待排列的 nnn 个元素。计算出这 nnn 个元素的所有不同排列。

Input
输入第 111 行是元素个数 n(1≤n≤500)n(1≤n≤500)n(1≤n≤500) 。接下来的 111 行是待排列的 nnn 个元素。

Output
按字典序输出 nnn 个元素的所有排列,最后 1 行中的数是排列总数。

Sample Input 1

4
aacc

Sample Output 1

aacc
acac
acca
caac
caca
ccaa
6

代码:

#include<bits/stdc++.h>
using namespace std;int a['z'+1];
char ans[510];
int n,tot;void dfs(int t){if(t>n){for(int i=1;i<=n;i++){cout<<ans[i];}cout<<endl;tot++;return;}for(char i='a';i<='z';i++){if(a[i]>0){ans[t]=i;a[i]--;dfs(t+1);a[i]++;}}
}int main(){string s;cin>>n>>s;for(int i=0;i<s.size();i++){a[s[i]]++;}dfs(1);cout<<tot; return 0;
}

排列组合问题~有重复元素的排列问题(perm)——【S神】苏嘉亿相关推荐

  1. 【组合数学】排列组合 ( 多重集组合数 | 所有元素重复度大于组合数 | 多重集组合数 推导 1 分割线推导 | 多重集组合数 推导 2 不定方程非负整数解个数推导 )

    文章目录 一.多重集组合 ( 所有元素重复度大于组合数 ) 二.多重集组合 所有元素重复度大于组合数 推导 1 ( 分割线推导 ) 二.多重集组合 所有元素重复度大于组合数 推导 2 ( 不定方程非负 ...

  2. 有重复元素的排列问题

    题目:有重复元素的排列问题 前言 题目要求 问题描述: 算法设计要求: 数据输入: 结果输出: 分析 源代码 输入输出示例 总结 前言 这是王晓东所著的<计算机算法设计与分析>(第四版)第 ...

  3. LintCode 16. 带重复元素的排列

    写在前面:这题和全排列不含重复元素的那题几乎一样,我比较垃圾,就用HashSet去掉了重复的元素但是看了九章算法的答案也没看懂,他写的很有感觉. 用了hash,本来想着怎么写hashcode()和eq ...

  4. java 穷举 排列组合,JavaScript递归穷举所有排列组合并找出重复值

    null export default { data() { return { resultArr:[] } }, mounted(){ this.sss('aaba','abac'); this.s ...

  5. 【组合数学】排列组合 ( 排列组合内容概要 | 选取问题 | 集合排列 | 集合组合 )

    文章目录 一.排列组合内容概要 二.选取问题 三.集合排列 四.环排列 五.集合组合 参考博客 : [组合数学]基本计数原则 ( 加法原则 | 乘法原则 ) [组合数学]集合的排列组合问题示例 ( 排 ...

  6. php排列组合1004无标题,PHP的排列组合有关问题

    PHP的排列组合有关问题PHP的排列组合问题 现有数组$arr = array('Area','Income','Age','Gender'); 想根据以上数组里的元素,组成新的数组如下: AreaG ...

  7. python多个列表排列组合_多个列表的排列组合(笛卡儿积) | 迭代实现

    在西电开源社区逛论坛时候,发现下面的排列组合问题有一个高效的迭代方式实现. 如何从 ['ABC', '12'] 得到 A1 A2 B1 B2 C1 C2 然后推广到 ['abcd', '98h40ui ...

  8. python 排列组合速度_Python实现的简单排列组合算法示例

    本文实例讲述了Python实现的简单排列组合算法.分享给大家供大家参考,具体如下: 1.python语言简单.方便,其内部可以快速实现排列组合算法,下面做简单介绍 2.一个列表数据任意组合 主要是利用 ...

  9. 有重复元素的排列问题pascal题解

    var l,i,tj:longint; a:array['a'..'z']of longint; x,c:char; b:array[0..500]of char; procedure print; ...

最新文章

  1. python登录并关注公众号_python微信公众号之关注公众号自动回复
  2. 【翻译】Emmet(Zen Coding)官方文档 之七 一览表
  3. 华为云devops认证考试课堂笔记2
  4. java串口监控数据,怎样监听或者拦截串口上的数据
  5. 可能是史上最全的权限系统设计
  6. 【数据集】计算机视觉,深度学习,数据挖掘数据集整理
  7. 针孔相机的标定原理与实现
  8. android studio Emulator is outdated
  9. STM32——DAC数模转换实验
  10. 孪生素数对php编写,孪生素数
  11. 流量负载_指挥流量:揭开互联网规模负载平衡的神秘面纱
  12. TDK是什么意思,TDK怎么写?怎么利于SEO优化?
  13. 牛客网之黑暗的字符串
  14. 浙江大学远程教育计算机应用基础第4次,浙江大学远程教育计算机应用基础2013年秋-4.Excel知识题...
  15. 3D引擎优化方法整理
  16. Hystrix断路器执行原理
  17. 在C语言中,int型数据的取值范围?
  18. 怎么在Arcgis中提取多个坐标点的dem值(高程)
  19. TMA3.0.2.5铁塔制造助手+屏幕录像专家
  20. Markdown笔记利器:Typora主题-最美的模板

热门文章

  1. 在Oracle中添加的中文变成靠靠靠...
  2. 开关电源之光耦隔离反馈
  3. HDU 6230 (ManacherBIT)
  4. 传感器与传感器网络知识小问答
  5. 查看端口号的命令,android SDK启动模拟器的方法
  6. vue 统计中英文字符串长度_Ant Design Vue 添加区分中英文的长度校验功能
  7. PCI-SIG 文档 Ncb和cb的区别
  8. 两物体的相对速度公式_(1)相对论速度变换公式:(式中v为高速火车相对地的速度.u′为车上的人相对于车的速度.u为车上的人相对地面的速度)....
  9. Struts 2 FilterDispatcher和StrutsPrepareAndExecuteFilter之间的区别?
  10. 打印机不打印故障检查步骤