#include <iostream>
#include <algorithm>
using namespace std;
int fact[5] = {1,1,2,6,24};
int main()
{
int a[1025];
int test;
scanf("%d",&test);
int i,j;
while(test--)
{
int n,k;
scanf("%d%d",&n,&k);
i=0;
if(n<5)
k %= fact[n];
while(i<n)scanf("%d",&a[i++]);
for(i=1;i<=k;i++)
{
if(!next_permutation(&a[0],&a[n]))
{
for(j=0;j<n;j++)
a[j] = j+1;
}
}
for(i=0;i<n;i++)printf("%d ",a[i]);
printf("\n");
}
system("pause");
return 1;
}
这题用cin 和cout 超时 悲催
转载于:https://www.cnblogs.com/dapanshe/archive/2011/06/16/2083105.html