93. 递归实现组合型枚举

题目

思路

一个m个坑位,填n个数,就依次往里放就好了

同时判断一下升序,当前这个数比前一个数大就可以了

代码

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;
int n, m;
int ans[30];
int f[30]={0};
void dfs(int v)
{
	if (v > m) 
	{
		for (int i = 1; i <= m; i ++ )
		{
			cout << ans[i] << " ";
		}
		cout << endl;
		return;
	}
	for (int i = 1; i <= n; i ++ )
	{
		if (!f[i] && i > ans[v - 1])
		{
			f[i] =  1;
			ans[v] = i;
			dfs(v + 1);
			f[i] = 0;
			ans[v] = 0;
		}
		
	}
}
int main()
{
	cin >> n >> m;
	dfs(1);
	return 0;
 } 
相关推荐
带多刺的玫瑰1 小时前
Leecode刷题C语言之统计不是特殊数字的数字数量
java·c语言·算法
爱敲代码的憨仔1 小时前
《线性代数的本质》
线性代数·算法·决策树
yigan_Eins2 小时前
【数论】莫比乌斯函数及其反演
c++·经验分享·算法
阿史大杯茶2 小时前
AtCoder Beginner Contest 381(ABCDEF 题)视频讲解
数据结构·c++·算法
დ旧言~2 小时前
【高阶数据结构】图论
算法·深度优先·广度优先·宽度优先·推荐算法
张彦峰ZYF2 小时前
投资策略规划最优决策分析
分布式·算法·金融
The_Ticker3 小时前
CFD平台如何接入实时行情源
java·大数据·数据库·人工智能·算法·区块链·软件工程
爪哇学长3 小时前
双指针算法详解:原理、应用场景及代码示例
java·数据结构·算法
Dola_Pan3 小时前
C语言:数组转换指针的时机
c语言·开发语言·算法
繁依Fanyi4 小时前
简易安卓句分器实现
java·服务器·开发语言·算法·eclipse