51Nod - 1384 全排列
链接
给出一个字符串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 全排列相关推荐
- 51—Nod 1384 全排列
给出一个字符串S(可能有重复的字符),按照字典序从小到大,输出S包括的字符组成的所有排列.例如:S = "1312", 输出为: 1123 1132 1213 1231 1312 ...
- 51Nod-1384 全排列【全排列】
1384 全排列 给出一个字符串S(可能有重复的字符),按照字典序从小到大,输出S包括的字符组成的所有排列.例如:S = "1312", 输出为: 1123 1132 1213 ...
- 51nod 基础题题解(全)
基础题(40): 1000 A + B 1005 大数加法 1006 最长公共子序列Lcs 1018 排序 1019 逆序数 1027 大数乘法 1046 A^B Mod C 1057 N的阶乘(大数 ...
- HAPPY2020暑假训练前复习
A.计蒜客 - T1381 输出hello world 万恶之源 B.51Nod - 2060 全排列输出 不要用STL的next_permutation,会超时 #include <bits/ ...
- 九个数的全排列(避免重复出现)
题意:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1384 使用标准库里面的next_permutation()函数,这 ...
- 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 ...
- 51nod 1549 上传说
题目链接 :http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1549 1549 上传说 基准时间限制:1 秒 空间限制:1 ...
- 字符串全排列的问题 python和c语言实现
前言 这是一个的经典的问题 设计一个算法,输出一个字符串字符的全排列. 比如,String = "abc" 输出是"abc","bac",& ...
- 求字符串全排列 python实现
文章目录 算法思想 附上c语言实现 参考 算法思想 输入一个字符串,打印这个字符串中字符的全排列. eg: 输入:abc 输出:abc acb bac bca cab cba 思路:将求字符串的全排列 ...
- 51nod 1617 奇偶数组
传送门 回来看一眼51nod,发现自己掉到rank4了,赶紧切道题回rank3. 一眼不会做,这种东西应该慢慢找规律吧--然后看到数据范围其实比较小,应该是单次log的,那是不是可以分治啊. #inc ...
最新文章
- 作业帮电脑版在线使用_互助作业帮PC版-互助作业帮电脑版下载 v4.5.8
- 购买7个球彩票(人输入or机输入)(python )
- 09_Fibonacci
- 数仓系列 | 深入解读 Flink 资源管理机制
- 通过options探测服务器信息,WEB服务器启用了OPTIONS方法
- java 判断double是否为整数_java 中如何判断输入的是int还是double
- 向量的点积与叉乘的几何解释
- wifi服务器无响应如何修复,wifi打不开怎么修复?wifi打不开原因是什么
- python做var模型_python中VAR模型的条件预测
- 程序、算法和数据结构的关系
- Ps2021软件安装Mac(含M1)、Windows版
- Anaconda 的Jupyter Notebook更换默认浏览器
- 夜神模拟器apk安装方式
- 如何将 APE 无损音乐转换成 FLAC音频文件
- matlab中load函数是什么意思,MATLAB中load函数的用法
- 企业认证3A信用等级
- 通过GRUB引导安装Red Flag系统
- SQLMap 使用详解
- unity物体自身轴旋转_unity3D实现物体任意角度自旋转
- 悦刻母公司雾芯季报图解:营收10.4亿同比降38% 净利5亿
热门文章
- android 支付宝 地图,支付宝小程序地图组件 地图·Map
- html网页中加入音乐播放器,如何在网页中插入音乐播放器
- element ui 前台模板_一个干净优雅的Element UI Admin模板
- python3 pdf转图片_Python 将pdf转成图片的方法
- 【Photoshop】证件照换底色
- bearer token头_bearer token 是什么意思
- 2013.11.18周例会小结
- 基于anbox的云游戏技术简介
- 响应式网站建设的优缺点
- 网页上的时间显示设置