全排列

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int pl[];
  4. void print (int n){
  5. for(int i=;i<=n;i++) cout<<" "<<pl[i];
  6. cout<<endl;
  7. }
  8. void pp(int n,int pos=){
  9. if(pos==n+) {
  10. print(n);
  11. return ;
  12. }
  13. for(int i=;i<=n;i++){
  14. bool ok=;
  15. for(int j=;j<pos;j++){
  16. if(pl[j]==i) ok=;
  17. }
  18. if(ok) {
  19. pl[pos]=i;
  20. pp(n,pos+);
  21. }
  22. }
  23. }
  24. int main(){
  25. int n;
  26. cin>>n;
  27. pp(n);
  28. return ;
  29. }

有重复元素的全排列//然而并不能过所有测试点

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. char pl[];
  4. int cnt;
  5. void print(int n){
  6. for(int i=;i<n;i++)
  7. cout<<pl[i];
  8. cnt++;
  9. cout<<endl;
  10. }
  11. void pp(char p[],int n,int pos=){
  12. if(pos==n){
  13. print (n);
  14. return ;
  15. }
  16. for(int i=;i<n;i++){
  17. if(i==||p[i]!=p[i-]){
  18. int c1=,c2=;
  19. c1=count (pl,pl+pos,p[i]);
  20. c2=count (p,p+n,p[i]);
  21. if(c1<c2){
  22. pl[pos]=p[i];
  23. pp(p,n,pos+);
  24. }
  25. }
  26. }
  27. }
  28. int main(){
  29. int n;
  30. char ddd[];
  31. cin>>n;
  32. for(int i=;i<n;i++){
  33. cin>>ddd[i];
  34. }
  35. pp(ddd,n);
  36. cout<<cnt;
  37. return ;
  38. }

所以我用STL模板

STL大法好

这里是char类型的

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int main(){
  4. long long cnt=;
  5. ios::sync_with_stdio(false);
  6. char dd[];
  7. int n;
  8. cin>>n;
  9. for(int i=;i<n;i++)
  10. cin>>dd[i];
  11. sort (dd,dd+n);
  12. do{
  13. for(int i=;i<n;i++){
  14. printf("%c",dd[i]);
  15. }
  16. cnt++;
  17. printf("\n");
  18. }while(next_permutation(dd,dd+n));
  19. printf("%d",cnt);
  20. return ;
  21. }

【模板】 全排列 && 有重复元素的全排列的更多相关文章

  1. Concise and clear CodeForces - 991F(dfs 有重复元素的全排列)

    就是有重复元素的全排列 #include <bits/stdc++.h> #define mem(a, b) memset(a, b, sizeof(a)) using namespace ...

  2. poj3421 X-factor Chains(重复元素的全排列)

    poj3421 X-factor Chains 题意:给定正整数$x(x<=2^{20})$,求$x$的因子组成的满足任意前一项都能整除后一项的序列的最大长度,以及满足最大长度的子序列的个数. ...

  3. 紫书 习题 10-25 UVa 1575 (有重复元素的全排列+暴搜)

    我一开始以为有什么很牛逼的方法来做,然后一直没有思路 后来看了https://blog.csdn.net/zju2016/article/details/78562932的博客 竟然是暴搜?????? ...

  4. 离散化模板题 II ——重复元素离散化后的数字不相同

    离散化模板题 II --重复元素离散化后的数字不相同 题目描述 现有数列A1, A2, ⋯, An,数列中可能有重复元素. 现在要求输出该数列的离散化数列,重复元素离散化后的数字不相同. 输入 第一行 ...

  5. 离散化模板题 I ——重复元素离散化后的数字相同

    离散化模板题 I --重复元素离散化后的数字相同 题目描述 现有数列A1, A2, ⋯, An,数列中可能有重复元素. 现在要求输出该数列的离散化数列,重复元素离散化后的数字相同.  输入 第一行,一 ...

  6. 剑指 Offer 38. 字符串的排列 + 无重复元素的全排列

    剑指 Offer 38. 字符串的排列 Offer_38 题目描述 解题思路 可以使用递归实现全排列,每次都确定一个数的位置,当所有位置的数都确定后即表示一个排列. 但是考虑到本题需要排除重复的排列, ...

  7. 刷题——有重复元素的全排列(Permutations II)

    题目如上所示. 我的解决方法(参考了九章的答案!): class Solution { public: /* * @param : A list of integers * @return: A li ...

  8. dfs 全排列 使用交换——含重复元素和非重复元素

    15. 全排列 中文 English 给定一个数字列表,返回其所有可能的排列. 样例 样例 1: 输入:[1] 输出: [ [1] ] 样例 2: 输入:[1,2,3] 输出: [ [1,2,3], ...

  9. [leetcode]47. Permutations全排列(给定序列有重复元素)

    Given a collection of numbers that might contain duplicates, return all possible unique permutations ...

随机推荐

  1. Webapi上传数据(XML)敏感字符解决方案

    方法名加特性 [ValidateInput(false)] 配置文件加 <httpRuntime requestValidationMode="2.0" targetFram ...

  2. fast powf

    测试结果: sum (fast) in clock 1562sum (fast2) in clock 1407sum (fast3) in clock 3156sum in clock 7797Err ...

  3. 【转】4G18的低成本NA玩法

    首先是要再次强调一次,4G18的缸径是76MM,冲程是87.5MM.属于典型的长冲程低转发动机! 这种设计的优点是比较适合市区走停的工作状况,省油. 如果要针对改装方案而言因为这种低转时便可输出大扭矩 ...

  4. Day 35 验证客户端的合法性+socketserver

    一 .getpeername和getsoketopt的用法 服务器端代码 import socket sk =socket.socket() sk.bind(('127.0.0.1',9000)) s ...

  5. BZOJ4825: [Hnoi2017]单旋(Splay)

    题面 传送门 题解 调了好几个小时--指针太难写了-- 因为只单旋最值,我们以单旋\(\min\)为例,那么\(\min\)是没有左子树的,而它旋到根之后,它的深度变为\(1\),它的右子树里所有节点 ...

  6. 二,windows下安装memcached服务

    window下安装memcached服务的流程如下: 1. 下载memcache的windows稳定版,解压放某个盘下面,比如在c:\memcached 2. 在终端(也即cmd命令界面)下输入 ‘c ...

  7. 算法逆向6——RSA识别

    本文原创作者:i春秋作家——icq5f7a075d 1. 算法介绍 RSA算法是一种用数论构造的.基于大合数因子分解困难性的公开密钥密码.由于RSA密码既可用于加密,又可用于数字签名,安全.易懂,因此 ...

  8. 图片后门恶意捆绑工具FackImageexploer

    本文作者:夜莺 今天向大家提个醒,最近有一款工具名叫FackImageexploer,该工具能够将恶意的.bat和.exe程序与图片绑定在一起,假若受害者点击了图片,就会反弹个shell给不法分子,如 ...

  9. (6)Oracle基础--简单查询

    .基本查询语句  SELECT [DISTINCT] column_name1,... | * FROM table_name [WHERE conditions]; P: DISTINCT关键字的作 ...

  10. springMvc的执行流程(源码分析)

    1.在springMvc中负责处理请求的类为DispatcherServlet,这个类与我们传统的Servlet是一样的.我们来看看它的继承图 2. 我们发现DispatcherServlet也继承了 ...