深度优先搜索专题(二)-【递归入门】组合的输出
算法思想:
DFS直接搜,按顺序找到一组r个数字就输出
代码如下:
#include <iostream>
#include <cstdio>
int n,r,ans[25];
void DFS(int num,int step){
ans[step] = num;
if(step == r){
for(int i = 1 ; i <= step ; i++){
printf("%3d",ans[i]);
}
printf("\n");
return ;
}
for(int i = num+1 ; i <= n ; i++){
DFS(i,step+1);
}
}
int main(){
scanf("%d%d",&n,&r);
DFS(0,0);
return 0;
}