当前位置: 首页 > article >正文

牛客——递归实现组合型枚举(枚举,dfs)

链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
 

题目描述

从 1~n 这 n 个整数中随机选出 m 个,输出所有可能的选择方案。n>0n \gt 0n>0, 0≤m≤n0 \leq m \leq n0≤m≤n, n+(n−m)≤25n+(n-m)\leq 25n+(n−m)≤25。

输入描述:

两个整数n,m。

输出描述:

 

按照从小到大的顺序输出所有方案每行1个。

首先,同一行内的数升序排列,相邻两个数用一个空格隔开。其次,对于两个不同的行,对应下标的数一一比较,字典序较小的排在前面(例如1 3 9 12排在1 3 10 11前面)。

#include<bits/stdc++.h>
using namespace std;
int n,m,a[30];
void dfs(int s,int p){
	if(p>m){
		for(int j=1;j<=m;j++)
			cout<<a[j]<<' ';
		cout<<endl;
		return;
	}
	for(int i=s;i<=n;i++){
		a[p]=i;
		dfs(i+1,p+1);
		
	}
}
int main(){
	cin>>n>>m;
	dfs(1,1);
	return 0;
}

 


http://www.kler.cn/a/234903.html

相关文章:

  • 机器学习基础算法 (二)-逻辑回归
  • electron打包linux环境
  • 常用的缓存技术都有哪些
  • 阿里云虚拟主机ecs镜像如何转移到本地virtualbox上
  • Nginx的stream模块代理四层协议TCP的流量转发
  • 最新ubuntu20.04安装docker流畅教程
  • 浅谈人工智能之深度学习~
  • CPP项目:Boost搜索引擎
  • 【并发编程】原子累加器
  • 企业飞书应用机器人,使用python发送图文信息到群
  • SpringCloud-Eureka服务注册中心测试实践
  • CSS 2D转换 3D动画 3D转换
  • ###C语言程序设计-----C语言学习(12)#进制间转换,十进制,二进制,八进制,十六进制
  • K8S之运用节点选择器指定Pod运行的节点
  • SERVLET间通信
  • vue父组件监听子组件是否加载完毕通过ref调用子组件的函数
  • 940. 不同的子序列 II
  • C语言——oj刷题——模拟实现库函数strlen
  • Solidworks:平面工程图练习
  • Netty应用(七) 之 Handler Netty服务端编程总结
  • 【北邮鲁鹏老师计算机视觉课程笔记】05 Hough 霍夫变换
  • ChatGpt报错:We ran into an issue while authenticating you解决办法
  • 【Java】笔记:JDBC中Statement常用的几个执行函数
  • Linux中FIFO管道
  • 第六篇【传奇开心果系列】Vant of Vue 开发移动应用示例:深度解析响应式布局支持
  • acwing14期周赛---------安排时间(贪心+枚举)