前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >1-3递归实现组合型枚举

1-3递归实现组合型枚举

作者头像
CaesarChang张旭
发布2021-03-11 11:19:32
4120
发布2021-03-11 11:19:32
举报
文章被收录于专栏:悟道悟道

从 1∼n 这 n 个整数中随机选出 m 个,输出所有可能的选择方案。 输入格式 两个整数 n,m ,在同一行用空格隔开。 输出格式 按照从小到大的顺序输出所有方案,每行 1 个。 首先,同一行内的数升序排列,相邻两个数用一个空格隔开。 其次,对于两个不同的行,对应下标的数一一比较,字典序较小的排在前面(例如 1 3 5 7 排在 1 3 6 8 前面)。 数据范围 n>0 , 0≤m≤n , n+(n−m)≤25 输入样例: 5 3 输出样例: 1 2 3 1 2 4 1 2 5 1 3 4 1 3 5 1 4 5 2 3 4 2 3 5 2 4 5 3 4 5

代码语言:javascript
复制
import java.util.Scanner;

public class Main {
static int [] rec;
static int n;
static int m;
public static void main(String[] args) {

	
	Scanner scanner=new Scanner(System.in);
	n=scanner.nextInt();
	m=scanner.nextInt();
	rec=new int[n+1];
	dfs(1,1);
	
}
private static void dfs(int cur,int start) {
	

	if(cur>m) {
		for(int i=1;i<=m;i++) {
			System.out.print(rec[i]+" ");
		}
		System.out.println();
		return ;
	}
	for(int i=start;i<=n;i++) {
		
		rec[cur]=i;
		dfs(cur+1, start+1);
		rec[cur]=0;
	}
	
	
	
		
		
	}
	
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-03-08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档