欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

HDU1027(next_permutation函数用法)

程序员文章站 2022-03-22 16:26:20
...

题意简单,是求第m个的排列。

直接上代码

  1. #include <iostream>  
  2. #include <algorithm>  
  3. using namespace std;  
  4. int a[1000];  
  5. void coutn(int n)  
  6. {  
  7.     int i;  
  8.     for(i=0;i<n-1;i++)  
  9.         cout<<a[i]<<" ";  
  10.     cout<<a[i]<<endl;  
  11. }  
  12. int main()  
  13. {  
  14.     int n,m;  
  15.     while(cin>>n>>m)  
  16.     {  
  17.         for(int i=0;i<n;i++)  
  18.             a[i]=i+1;  
  19.         int b=1;  
  20.         do{  
  21.             if(b==m)  
  22.                 break;  
  23.             b++;  
  24.         }while(next_permutation(a,a+n));  
  25.         coutn(n);  
  26.     }  
  27.     return 0;  
  28. }  
#include <iostream>
#include <algorithm>
using namespace std;
int a[1000];
void coutn(int n)
{
	int i;
	for(i=0;i<n-1;i++)
		cout<<a[i]<<" ";
	cout<<a[i]<<endl;
}
int main()
{
	int n,m;
	while(cin>>n>>m)
	{
		for(int i=0;i<n;i++)
			a[i]=i+1;
		int b=1;
		do{
			if(b==m)
				break;
			b++;
		}while(next_permutation(a,a+n));
		coutn(n);
	}
	return 0;
}