HDU 1027(STL_I题)解题报告
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1027
------------------------------------------------------------------------------------
题意:输入第一个数表示序列长度。第二个数表示序列变换的次数。要求输出变换后的序列
思路:利用next_permutation,进行n次循环,得到的就是序列变换n次的状态。
代码:
 
#include<cstdio> #include<cstring> #include<algorithm> #include<iostream> #include<string> #include<vector> #include<stack> #include<bitset> #include<cstdlib> #include<cmath> #include<set> #include<list> #include<deque> #include<map> #include<queue> using namespace std; typedef long long ll; const double PI = acos(-1.0); const double eps = 1e-6; int a[10000],n,m; int main(void){ while(~scanf("%d %d",&n,&m)){ for(int i=0;i<n;i++){ a[i]=i+1; } int count =1; while(next_permutation(a,a+n)) { count++; if (count == m) break; } for(int i=0;i<n-1;i++){ printf("%d ",a[i]); } printf("%d",a[n-1]); printf("\n"); } return 0; }

 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号