1384 全排列 

给出一个字符串S(可能有重复的字符),按照字典序从小到大,输出S包括的字符组成的所有排列。例如:S = "1312",

输出为:

1123

1132

1213

1231

1312

1321

2113

2131

2311

3112

3121

3211

Input

输入一个字符串S(S的长度 <= 9,且只包括0 - 9的阿拉伯数字)

Output

输出S所包含的字符组成的所有排列

Input示例

1312

Output示例

1123
1132
1213
1231
1312
1321
2113
2131
2311
3112
3121
3211

问题链接:51Nod-1384 全排列

问题分析

这是一个全排列问题,用STL算法库中的函数next_permutation()来实现比较简单。需要注意的是,使用该函数之前,需要将原有的数据做个排序。

程序说明:(无)

题记:(略)

参考链接:(无)

AC的C++语言程序如下:

/* 51Nod-1384 全排列 */#include <bits/stdc++.h>using namespace std;const int N = 9;
char s[N + 1];int main()
{while(~scanf("%s", s)) {int len = strlen(s);sort(s, s + len);do {printf("%s\n", s);} while(next_permutation(s, s + len));}return 0;
}

51Nod-1384 全排列【全排列】相关推荐

  1. c语言如何实现1-n全排列,全排列思路解析附C语言实现

    全排列这个问题,几乎是面试必问的问题,考察面试者递归,逻辑分析问题的能力 笔者在10年看谭浩强的c语言的时候,就接触过这个算法,只可惜那时候老师并没有严格让我们去实现 自己学习的时候也偏注重语法的理解 ...

  2. php数字全排列,全排列算法 - php 实现

    今天遇到了一个全排列的算法题目,回顾下算法实现. 全排列实现思路: 1. 当需要全排列的元素个数 N = 1 ,则全排列只有它; 2. 当需要全排列的元素个数 N > 1 ,则全排列为 每一个元 ...

  3. matlab穷举全排列,全排列:穷举法和递归法

    #include #include //2013-4-21 //n个数全排列 //使用穷举法实现 假设 n=3 的情况,根据n使用不同层的for循环 void Brute_Force_Full_Arr ...

  4. 【第27天】给定一个整数 n ,打印出1到n的全排列 | 全排列模板

    本文已收录于专栏

  5. LeetCode 47全排列Ⅱ48旋转图像

    原创公众号:bigsai 如果不错记得点赞收藏! 关注回复 bigsai 领取Java进阶pdf资源,回复进群加入力扣打卡群. 上周打卡内容:43字符串相乘&44通配符匹配 45跳跃游戏&am ...

  6. LeetCode 45跳跃游戏46全排列

    原创公众号:bigsai,回复进群加入力扣打卡群. 昨日打卡:LeetCode 42字符串相乘&43通配符匹配 跳跃游戏 题目描述: 给定一个非负整数数组,你最初位于数组的第一个位置. 数组中 ...

  7. 算法设计与分析——递归与分治策略——全排列

    算法设计与分析--递归与分治策略--全排列 全排列问题的解决是通过分治与递归思想来解决的 首先判断是否递归到了最后一位,如果递归到了最后一位,则输出他当前的全排列序列. 如果没有到达最后一位,则循环的 ...

  8. ++递归 字符串全排列_超全递归技巧整理,这次一起拿下递归

    0. 前言 大家好,我是多选参数的程序锅,一个正在 neng 操作系统.学数据结构和算法以及 Java 的硬核菜鸡.本篇将主要介绍递归相关的内容,下面是本篇的内容提纲. 1. 递归基础 ★ 争哥:从我 ...

  9. 算法一:递归(包含Hanoi问题、N皇后问题、逆波兰表达式、爬楼梯、放苹果、全排列)

    递归 递归在算法中具有很重要的地位,也是很多学习编程的初学者非常头疼的问题,看我的这篇文章,希望能为还处于迷雾中的你带来希望 首先我们要知道递归的作用: 1.可替代多重循环 2.解决本来就是用递归形式 ...

  10. python实现数组的全组合以及全排列

    全排列与全组合全排列的递归代码:python实现 全排列 #全排列def swap(nums,i,j):temp = nums[i]nums[i] = nums[j]nums[j] = temp# 递 ...

最新文章

  1. 算法基础知识科普:8大搜索算法之顺序搜索
  2. seaborn heatmap热力图用法
  3. sql的nvl()函数
  4. Android--屏幕方向的改变
  5. ‘shared_ptr‘ is not a member of ‘std’
  6. php判断手机浏览器,PHP环境下判断客户端是否为手机浏览器
  7. 网络即服务(NaaS)是什么???
  8. java jms clust,Geoserver 的 JMS Cluster modules(集群数据同步)
  9. 怎么使用jstack精确找到异常代码
  10. 2019-02-27-算法-进化(寻找两个有序数组的中位数)
  11. Java基础总结之(面试)
  12. 1864. [ZJOI2006]三色二叉树【树形DP】
  13. mysql was1067_MySQL启动提示1067错误的解决
  14. 计算机图形学在线作业,电子科大16秋《计算机图形学》在线作业3答案
  15. FINALDATA 使用教程
  16. 电商系统数据库设计原则
  17. 详解威佐夫博弈(POJ1067)
  18. 如何区别测试计划和测试方案
  19. Switch 块、Switch 表达式、Switch 模式匹配,越来越好用的 Switch
  20. 计算机屏幕显示电缆借口,电脑打不开,显示电缆线没有连接是什么意思?

热门文章

  1. golang actor模型探索
  2. Android之远程图片获取和本地缓存
  3. 关于用C#编写ActiveX控件2(转)
  4. linux device attr,DEVICE_ATTR的使用
  5. Sqoop导入数据发生数据倾斜问题 及更好解决
  6. Object类的使用
  7. 网络 TCP的头部 3次握手和4次挥手 出现大量TIME_WAIT或CLOSE_WAIT的原因及解决办法
  8. 高性能加速深度学习算法
  9. 39种语言编写的Hello World程序
  10. python-opencv有效随机角度旋转