一开始没看懂题目,原来这是个生成全排列的问题。
可以用递归(DFS)做,然后偷懒用了STL模板直接得出答案……
话说STL真的很好用啊→_→
http://acm.hdu.edu.cn/showproblem.php?pid=1027
#include<iostream>//1027 生成全排列 STL函数
#include<algorithm>
using namespace std;
int n,m;
int sequence[1010];
int main()
{
while(cin>>n>>m)
{
int i;
for(i=0;i<n;i++)
sequence[i]=i+1;//1~n
for(i=2;i<=m;i++)
next_permutation(sequence,sequence+n);//对1~n个数据生成全排列
for(i=0;i<n-1;i++)
printf("%d ",sequence[i]);
printf("%d\n",sequence[n-1]);
}
return 0;
}