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

输出为:

113
131
311

Input
输入一个字符串S(S的长度 <= 9,且只包括0 - 9的阿拉伯数字)
Output
输出S所包含的字符组成的所有排列
Sample
Inputcopy
1312
Outputcopy
1312
1123
1132
1213
1231
1312
1321
2113
2131
2311
3112
3121
3211
分析:全排列函数或者搜索
函数:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
char n[10];
int main()
{int l;cin>>n;l=strlen(n);sort(n,n+l);//字符串也可以sort排序!!! do{cout<<n<<endl;}while(next_permutation(n,n+l));
}

扩展:
a.函数模板:
lower_bound(arr[],arr[]+size,indx)
b.参数说明:
arr[] : 数组首地址
size : 数组元素的个数
indx : 需要查找的值
c.函数功能:函数lower_bound()在first和last的前闭后开区间进行二分查找,返回大于或等于val的第一个元素的位置,如果所有元素都小于val,则返回last的位置。

a. 函数模板 : upper_bound(arr[] , arr[]+size , indx)
b. 参数说明:
arr[] : 数组首地址
size : 数组元素个数
indx : 需要查找的值
c. 函数功能 : 函数upper_bound()返回的在前闭后开区间查找的关键字的上界,返回大于val的第一个元素位置。

dfs代码:

#include "stdio.h"
#include "string.h"
char a[10],b[10];
int book[10],n;
void q(int s)
{int i;if(s==n){for(i=0;i<n;i++)printf("%c",a[i]);printf("\n");return;}for(i=0;i<n;i++){if(book[i]==0){a[s]=b[i];book[i]=1;q(s+1);book[i]=0;}}return;
}
int main ()
{scanf("%s",b);n=strlen(b);q(0);
}

51Nod - 1384 全排列相关推荐

  1. 51—Nod 1384 全排列

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

  2. 51Nod-1384 全排列【全排列】

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

  3. 51nod 基础题题解(全)

    基础题(40): 1000 A + B 1005 大数加法 1006 最长公共子序列Lcs 1018 排序 1019 逆序数 1027 大数乘法 1046 A^B Mod C 1057 N的阶乘(大数 ...

  4. HAPPY2020暑假训练前复习

    A.计蒜客 - T1381 输出hello world 万恶之源 B.51Nod - 2060 全排列输出 不要用STL的next_permutation,会超时 #include <bits/ ...

  5. 九个数的全排列(避免重复出现)

    题意:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1384 使用标准库里面的next_permutation()函数,这 ...

  6. 51nod 1574 || Codeforces 584 E. Anton and Ira 思维+构造+贪心

    传送门:E. Anton and Ira 题意:给定两个1-n的全排列p和s,假设交换pi和pj的代价是abs(i-j),问怎样将p交换成s才能使代价最小. 思路:先将s映射成1-n的顺序排列,再将p ...

  7. 51nod 1549 上传说

    题目链接 :http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1549 1549 上传说  基准时间限制:1 秒 空间限制:1 ...

  8. 字符串全排列的问题 python和c语言实现

    前言 这是一个的经典的问题 设计一个算法,输出一个字符串字符的全排列. 比如,String = "abc" 输出是"abc","bac",& ...

  9. 求字符串全排列 python实现

    文章目录 算法思想 附上c语言实现 参考 算法思想 输入一个字符串,打印这个字符串中字符的全排列. eg: 输入:abc 输出:abc acb bac bca cab cba 思路:将求字符串的全排列 ...

  10. 51nod 1617 奇偶数组

    传送门 回来看一眼51nod,发现自己掉到rank4了,赶紧切道题回rank3. 一眼不会做,这种东西应该慢慢找规律吧--然后看到数据范围其实比较小,应该是单次log的,那是不是可以分治啊. #inc ...

最新文章

  1. 作业帮电脑版在线使用_互助作业帮PC版-互助作业帮电脑版下载 v4.5.8
  2. 购买7个球彩票(人输入or机输入)(python )
  3. 09_Fibonacci
  4. 数仓系列 | 深入解读 Flink 资源管理机制
  5. 通过options探测服务器信息,WEB服务器启用了OPTIONS方法
  6. java 判断double是否为整数_java 中如何判断输入的是int还是double
  7. 向量的点积与叉乘的几何解释
  8. wifi服务器无响应如何修复,wifi打不开怎么修复?wifi打不开原因是什么
  9. python做var模型_python中VAR模型的条件预测
  10. 程序、算法和数据结构的关系
  11. Ps2021软件安装Mac(含M1)、Windows版
  12. Anaconda 的Jupyter Notebook更换默认浏览器
  13. 夜神模拟器apk安装方式
  14. 如何将 APE 无损音乐转换成 FLAC音频文件
  15. matlab中load函数是什么意思,MATLAB中load函数的用法
  16. 企业认证3A信用等级
  17. 通过GRUB引导安装Red Flag系统
  18. SQLMap 使用详解
  19. unity物体自身轴旋转_unity3D实现物体任意角度自旋转
  20. 悦刻母公司雾芯季报图解:营收10.4亿同比降38% 净利5亿

热门文章

  1. android 支付宝 地图,支付宝小程序地图组件 地图·Map
  2. html网页中加入音乐播放器,如何在网页中插入音乐播放器
  3. element ui 前台模板_一个干净优雅的Element UI Admin模板
  4. python3 pdf转图片_Python 将pdf转成图片的方法
  5. 【Photoshop】证件照换底色
  6. bearer token头_bearer token 是什么意思
  7. 2013.11.18周例会小结
  8. 基于anbox的云游戏技术简介
  9. 响应式网站建设的优缺点
  10. 网页上的时间显示设置