还是用的两种方法,递归和STL,递归那个是含有反复元素的全排列,这道题我 没有尝试没有反复元素的排列,由于从题目上并没有发现一定是有反复元素的()

贴代码:

<span style="font-family:Courier New;font-size:18px;">#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<algorithm>
using namespace std;
int cmp(const void *a,const void *b)
{return *(char *)a - *(char *)b;
}
int main()
{int T;char a[15];scanf("%d",&T);while(T--){scanf("%s",a);int len = strlen(a);qsort(a,len,sizeof(a[0]),cmp);puts(a);while(next_permutation(a,a+len)){puts(a);}    puts("");}    return 0;
} </span>

递归:

<span style="font-family:Courier New;font-size:18px;">#include<stdio.h>
#include<string.h>
#include<stdlib.h>int cmp(const void *a,const void *b)
{return *(char *)a - *(char *)b;
}
void solve(int len,char *a,char *b,int cur)
{int i,j;if(cur == len){puts(b);return ;}else{for(i=0; i<len; i++){if(!i||(a[i] != a[i-1])){int ans1 = 0, ans2 = 0;for(j=0; j<len; j++)    if(a[i] == a[j])  ans1++;for(j=0; j<cur; j++) if(b[j]==a[i])        ans2++;if(ans2 < ans1){b[cur] = a[i];solve(len, a, b, cur+1);}}}}return ;
}
int main()
{int T;char a[15];char b[15];scanf("%d",&T);while(T--){memset(a,'\0',sizeof(a));memset(b,'\0',sizeof(b));scanf("%s",a);int len = strlen(a);qsort(a,len,sizeof(a[0]),cmp);solve(len,a,b,0); puts("");}    return 0;
} </span>

转载于:https://www.cnblogs.com/liguangsunls/p/7029190.html

uva 10098 Generating Fast(全排列)相关推荐

  1. 【UVA】11992 - Fast Matrix Operations(段树模板)

    主体段树,要注意,因为有set和add操作,当慵懒的标志下推.递归优先set,后复发add,每次运行set行动add马克清0 WA了好几次是由于计算那一段的时候出问题了,可笑的是我对着模板找了一个多小 ...

  2. uva 11925——Generating Permutations

    题意:给定一个1-n的排列,用不超过2*n2的操作把他变成升序.每次操作只有两种,一种是交换前两个元素,另外一种是把最后一个元素放到最后一位. 思路:贪心.用双端队列来保存数据,每次当v[0]> ...

  3. Uva 524 相邻素数全排列

    传送门:https://vjudge.net/problem/UVA-524 回溯法深搜,我的硬是不知道哪里错了,和别人AC的程序输出一模一样 #include <iostream> #i ...

  4. π-Algorithmist分类题目(1)

    原题网站:Algorithmist,http://www.algorithmist.com/index.php/Main_Page π-Algorithmist分类题目(1) Sorting UVAL ...

  5. 提取了下刘汝佳推荐的题号...

    今天闲来没事上uva oj提取了下刘汝佳推荐的acm题号,原始数据如下: Volume 0. Getting Started    10055 - Hashmat the Brave Warrior ...

  6. ICPC训练联盟2021寒假冬令营(9)_2021.01.29_笔记

    试题链接 点我进入代码提交OJ 学习笔记 - 数论与组合分析入门 数论的编程实验 • 3.1素数运算的实验范例 • 3.2求解不定方程和同余方程的实验范例 • 3.3 特殊的同余式 • 3.4 积性函 ...

  7. Competitive Programming 3题解

    题目一览: Competitive Programming 3: The New Lower Bound of Programming Contests(1) Competitive Programm ...

  8. AOAPC I: Beginning Algorithm Contests 题解

    AOAPC I: Beginning Algorithm Contests 题解 AOAPC I: Beginning Algorithm Contests (Rujia Liu) - Virtual ...

  9. ICPC程序设计题解书籍系列之六:吴永辉:《算法设计编程实验》

    第1章 Ad Hoc问题 POJ2661 HDU1141 ZOJ2545 UVA10916 Factstone Benchmark[Ad Hoc] UVA10037 Bridge[贪心] POJ257 ...

最新文章

  1. k3s 进入 CNCF 沙箱,首个进入 CNCF 的 k8s 发行版
  2. lwip之数据收发流程_1
  3. vue项目打包到腾讯云服务器全过程
  4. 实现IFrame的自适应高度
  5. datajs.js response handling
  6. Eigen入门之密集矩阵 4 - 块操作
  7. 使用Arquillian测试Spring Data + Spring Boot应用程序(第1部分)
  8. http协议 web开发的应用 笔记
  9. android8.0电脑壁纸,Android用原生分享多张图片适配7.0、8.0
  10. JSK-19 加一【入门】
  11. 0603 学术诚信与职业道德
  12. 使用URLOS在linux系统中极速部署NFS共享存储服务
  13. 【论文学习】Abnormal behavior recognition for intelligent video surveillance systems: A review
  14. crond和crontab详解
  15. macOS Big Sur 11.2.3 (20D91) 虚拟机 ISO 镜像
  16. 一个大龄女程序员的悲哀....
  17. 常用的嵌入式数据库的比较
  18. 看雪cm大赛第17题视频教程分析
  19. 自制ip地址切换器ip.dat
  20. 2022兴福村镇银行人员招聘专项练习题及答案

热门文章

  1. ireport5.6+jasperreport6.3开发(四)--以javabean为基准的报表开发(ireport)
  2. 博客园的“随笔、文章、新闻、日记”有啥区别
  3. 洗点,现金1100G
  4. 基于源码剖析nodejs模块系统
  5. python echarts接口_Python之图表Pyecharts
  6. 35岁以上还没结婚的男女们,过的如何?
  7. 买基金,是长期持有好,还是短线操作好?
  8. 微信朋友圈内容能删除吗?
  9. 被腾讯看上,叽里呱啦获近亿美元C轮融资
  10. 经历过贫穷,才知道做穷人意味着什么