求n个数全排列的第m个,,
深搜的顺序就是排列的顺序
8!=40320
给的m<=10000,所以只要排列八个数就可以了
#include<stdio.h>
#include<string.h>
int m,n,count,num[9],k,link[9];
void dfs(int u)
{
int i;
if(count==m)return;
if(u==9)
{
count++;
if(count==m)
{
if(n<=8)
{
printf("%d",num[k+1]-k);
for(i=k+2;i<=8;i++)
printf(" %d",num[i]-k);
printf("\n");
}
else
{ printf("1");
for(i=2;i<=k;i++)
printf......
阅读全文