标签:
5 3
543 542 541 532 531 521 432 431 421 321
#include <stdio.h>
#include<string.h>
int m,n;
int vis[20];
int res[20];
int arr[20];
void DFS(int a,int b,int step)
{
if(a>m+1) return ;
if(step==n+1)
{
for(int i=1;i<n;++i)
printf("%d",res[i]);
printf("%d\n",res[n]);
return ;
}
res[b]=arr[a];
DFS(a+1,b+1,step+1);
DFS(a+1,b,step);
}
int main()
{
while(~scanf("%d%d",&m,&n))
{
int j=0;
for(int i=m;i>=1;--i)
{
arr[++j]=i;
}
DFS(1,1,1);
}
return 0;
}
#include <stdio.h>
#include<string.h>
int m,n;
int vis[20];
int res[20]={100};
void DFS(int step)
{
if(step==n+1)
{
for(int i=1;i<n;++i)
printf("%d",res[i]);
printf("%d\n",res[n]);
}
for(int i=m;i>=1;--i)
{
if(!vis[i]&&i<res[step-1])
{
res[step]=i;
vis[i]=1;
DFS(step+1);
vis[i]=0;
}
}
}
int main()
{
while(~scanf("%d%d",&m,&n))
{
memset(vis,0,sizeof(vis));
DFS(1);
}
return 0;
}版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:
原文地址:http://blog.csdn.net/yuzhiwei1995/article/details/47395575