hdu 1027 Ignatius and the Princess II (全排列)
2017-02-08 17:24
357 查看
链 接:点击打开链接
题 意:给你两个数n,m,求1 到 m全排列第m小的排列
思 路:全排列的大小是根据它的逆序数的大小
例如 n=5 1 2 3 4 5 逆序数为0 最小
1 2 3 5 4 逆序数为1
............................................
利用STL中的全排列函数next_permutation(a,a+n)
代 码:
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int n,m;
while(cin>>n>>m)
{
int a[10005],i,sum=0;
for(i=0;i<n;i++)
a[i]=i+1;
do
{
sum++;
if(sum==m)
break;
}while(next_permutation(a,a+n));
for(i=0;i<n-1;i++)
cout<<a[i]<<" ";
cout<<a[n-1]<<endl;
}
}
题 意:给你两个数n,m,求1 到 m全排列第m小的排列
思 路:全排列的大小是根据它的逆序数的大小
例如 n=5 1 2 3 4 5 逆序数为0 最小
1 2 3 5 4 逆序数为1
............................................
利用STL中的全排列函数next_permutation(a,a+n)
代 码:
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int n,m;
while(cin>>n>>m)
{
int a[10005],i,sum=0;
for(i=0;i<n;i++)
a[i]=i+1;
do
{
sum++;
if(sum==m)
break;
}while(next_permutation(a,a+n));
for(i=0;i<n-1;i++)
cout<<a[i]<<" ";
cout<<a[n-1]<<endl;
}
}
相关文章推荐
- HDU 1027 Ignatius and the Princess II(全排列)
- HDU 1027 Ignatius and the Princess II 全排列
- HDU 1027.Ignatius and the Princess II【全排列】【数学】【1月3】
- HDU1027——Ignatius and the Princess II(全排列)
- 【HDU 1027 Ignatius and the Princess II】+ 全排列 + STL
- hdu 1027 Ignatius and the Princess II
- hdu 1027 Ignatius and the Princess II
- HDU-#1027 Ignatius and the Princess II(全排列+STL)
- Ignatius and the Princess II hdu 1027
- hdu 1027 Ignatius and the Princess II
- next_permutation & prev_permutation & hdu 1027 Ignatius and the Princess II
- HDU 1027 Ignatius and the Princess II
- Ignatius and the Princess II (HDU 1027) ——next_permutation排列函数
- Ignatius and the Princess II hdu 1027
- HDU 1027 Ignatius and the Princess II 选择序列题解
- HDU 1027 Ignatius and the Princess II
- hdu 1027 Ignatius and the Princess II
- HDU 1027 Ignatius and the Princess II 排列生成
- hdu 1027 ignatius and the princess ii
- HDU 1027 Ignatius and the Princess II