标签:
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