hdu1027(n个数的按字典序排列的第m个序列)
来源:互联网 发布:java图形界面的布局 编辑:程序博客网 时间:2024/05/16 11:34
题目信息:给出n,m,求n个数的按字典序排列的第m个序列
http://acm.hdu.edu.cn/showproblem.php?pid=1027
AC代码:
/**
*全排列的个数(次序)
*/
#include<iostream>
#include<cstdio>
#include<algorithm>
int a[1001],x;
using namespace std;
void print(int n){
for(int i=1;i<n;i++){
cout<<a[i]<<" ";
}
cout<<a[n]<<endl;
}
void range(int k,int n,int m){//自己定义的全排列函数(超时?)
if(k==n) {
++x;
if(x==m){//控制全排列次数
print(n);
return;
}
}
for(int i=k;i<=n;i++){
swap(a[k],a[i]);
range(k+1,n,m);
swap(a[k],a[i]);
}
}
int main()
{
int n,m;
while(scanf("%d%d",&n,&m)!=EOF){
for(int i=1;i<=n;i++) a[i]=i;
x=0;
//range(1,n,m);
for(int i=1;i<m;i++){//进行m-1次全排列
next_permutation(a+1,a+n+1);//全排列库函数,从1开始,相当于迭代器
}
for(int i=1;i<n;i++){
cout<<a[i]<<" ";
}
cout<<a[n]<<endl;
}
return 0;
}
- hdu1027(n个数的按字典序排列的第m个序列)
- hdu1027 给出n,m,求n个数的按字典序排列的第m个序列
- hdu1027在1-N自然数组成递增序列,找第M小的序列!难
- 数的组合问题,从n个数中选出m个数,结果按照字典序排列
- hdu1027(使用next_permutation求第m小的全排列)
- poj 1037 DP 求波浪序列中按字典序排列的第k个序列
- m个数取n个的排列数 Cmn
- 康拓展开+康拓逆展开(构造按字典序排序的第n个排列)
- HDU 1027 Ignatius and the Princess II(求由1-n组成按字典序排序的第m个序列)
- LeetCode60 n个数的排列组合找出第k个排列
- 字典序排列之后, 求其中的第m个数
- hdoj 1342 Lotto 【全排列(从n个数中选m个数按字典需排列)】
- 数据结构与算法[LeetCode]—Permutation Sequence 求n个数的全排列中第K个序列
- 蓝桥杯常用算法知识点:【递归】m个A与n个B的全排列个数
- 从m个数中选n个数的排列
- 从N个数选择M个数的排列
- N个数取m个数的全排列非递归
- 经典题:求字典序第m个的序列(2062)
- SSH中用到的设计模式之二——简单工厂
- 【软件工程】文档总结
- Ad hoc
- struts2基于注解且使用拦截器的文件上传配置
- 文法也可以通俗易懂
- hdu1027(n个数的按字典序排列的第m个序列)
- 【Android简易动画】计时小球(TimeBall)随时间变化不断跳动的小球
- 二叉查找树与红黑树原理和程序全面介绍
- 别让双手毁了青春!一段关于性成长经历的回忆。。。。。。
- hibernate之6.one2many单向
- YII 访问控制过了filters
- UDP通信编程------利用CAsyncSock类实现UDP异步通信
- Java Thread学习
- childNodes和nodeType