题目描述

设R={r1,r2,……,rn}是要进行排列的n个元素。其中元素r1,r2,……,rn可能相同。使设计一个算法,列出R的所有不同排列。

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

输入输出格式

输入格式:

第1行:元素个数n(1<=n<500)

第2行:一行字符串,待排列的n个元素

输出格式:

计算出的n个元素的所有不同排列,最后一行是排列总数。

输入输出样例

输入样例#1: 复制

4
aacc
输出样例#1: 复制

aacc
acac
acca
caac
caca
ccaa
6

说明

输出按字典顺序排

思路:STL

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
char a[],b[];
int n,s=;
int main(){
scanf("%d",&n);
scanf("%s",a);
sort(a,a+n);
strcpy(b,a);
printf("%s\n",a);
while(next_permutation(a,a+n)){
if(!strcmp(b,a)) continue;
printf("%s\n",a);
++s;
}
printf("%d",s);
return ;
}

最新文章

  1. SUSE系统查看各种信息
  2. Redis学习笔记1-Redis数据类型
  3. HTTP基础07--认证
  4. hdu 4112 Break the Chocolate(ceil floor)
  5. 【问底】徐汉彬:Web系统大规模并发——电商秒杀与抢购
  6. Page 的生命周期学习小结(翻译兼笔记)
  7. Linux中查看系统资源占用情况的命令【转载】
  8. X Window、GNOME和KDE之间的关系
  9. BZOJ 1070 修车(最小费用流)
  10. C#获取键盘和鼠标操作的时间的类
  11. Java Spring Boot VS .NetCore (十一)自定义标签 Java Tag Freemarker VS .NetCore Tag TagHelper
  12. Tomcat 500error: Could not initialize class
  13. P1387 最大正方形 dp
  14. CentOS7开启防火墙及特定端口
  15. Http File Server小工具
  16. 【ZZ】终于有人把云计算、大数据和人工智能讲明白了!
  17. Keras预测股票
  18. php -- 文件上传下载
  19. iOS 不支持 PWA,那又怎么样?
  20. javascript中的2个感叹号的用法

热门文章

  1. IDEA集成Python插件,SDK配置
  2. Cocos2d-x游戏的一般验证分析
  3. Hive总结(五)hive日志
  4. php 内置的 html 格式化/美化tidy函数 -- 让你的HTML更美观
  5. LinkedIn微服务框架rest.li
  6. 图形界面备份Linux系统介绍
  7. vuejs模板中使用html代码
  8. BZOJ3336: Uva10572 Black and White(插头Dp)
  9. python爬虫之『入门基础』
  10. Java第三方工具库/包汇总