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;
 } 
相关推荐
yonuyeung2 小时前
代码随想录算法【Day57】
数据结构·算法
居然有人6542 小时前
27.贪心算法5
算法·贪心算法
夏末秋也凉3 小时前
力扣-动态规划-62 不同路径
算法·leetcode·动态规划
工大一只猿3 小时前
贪心算法-455分发饼干
算法·贪心算法
pljnb3 小时前
【LeetCode 热题100】 240. 搜索二维矩阵 II的算法思路及python代码
算法·leetcode·矩阵
迷茫小玄森4 小时前
【R语言】Kmeans算法
算法·r语言·kmeans
居然有人6544 小时前
25.贪心算法3
算法·贪心算法
夏末秋也凉6 小时前
力扣-动态规划-70 爬楼梯
算法·leetcode·动态规划
大萌神Nagato6 小时前
蓝桥杯15届JavaB组6题
算法·蓝桥杯·深度优先
Swift社区7 小时前
【Swift 算法实战】利用 KMP 算法高效求解最短回文串
vue.js·算法·leetcode