洛谷 P1691 有重复元素的排列问题
2024-10-01 21:08:37
题目描述
设R={r1,r2,……,rn}是要进行排列的n个元素。其中元素r1,r2,……,rn可能相同。使设计一个算法,列出R的所有不同排列。
给定n以及待排列的n个元素。计算出这n个元素的所有不同排列。
输入输出格式
输入格式:
第1行:元素个数n(1<=n<500)
第2行:一行字符串,待排列的n个元素
输出格式:
计算出的n个元素的所有不同排列,最后一行是排列总数。
输入输出样例
说明
输出按字典顺序排
思路: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 ;
}
最新文章
- SUSE系统查看各种信息
- Redis学习笔记1-Redis数据类型
- HTTP基础07--认证
- hdu 4112 Break the Chocolate(ceil floor)
- 【问底】徐汉彬:Web系统大规模并发——电商秒杀与抢购
- Page 的生命周期学习小结(翻译兼笔记)
- Linux中查看系统资源占用情况的命令【转载】
- X Window、GNOME和KDE之间的关系
- BZOJ 1070 修车(最小费用流)
- C#获取键盘和鼠标操作的时间的类
- Java Spring Boot VS .NetCore (十一)自定义标签 Java Tag Freemarker VS .NetCore Tag TagHelper
- Tomcat 500error: Could not initialize class
- P1387 最大正方形 dp
- CentOS7开启防火墙及特定端口
- Http File Server小工具
- 【ZZ】终于有人把云计算、大数据和人工智能讲明白了!
- Keras预测股票
- php -- 文件上传下载
- iOS 不支持 PWA,那又怎么样?
- javascript中的2个感叹号的用法