HiCode信息学奥赛两日一题 T11递归实现组合型枚举

2021/5/2 18:25:41

本文主要是介绍HiCode信息学奥赛两日一题 T11递归实现组合型枚举,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

在这里插入图片描述

#include <iostream>

using namespace std;

int path[25];
int n,m;

void dfs(int u,int start){
	if(u > m){				//当搜索层数大于m 
		for(int i = 1; i <= m; i ++){
			cout << path[i] << " ";
		}
		cout << endl;
	}else{
		for(int i = start; i <= n; i ++){	//保证一个递增的顺序选择后面的数进行枚举 所以i = start
			path[u] = i;
			dfs(u + 1,i + 1);
			path[u] = 0;
		} 
		
	} 
} 

int main(){

	cin >> n >> m;
	dfs(1,1);		//(搜索层数,搜索开始的数字)
	
	
	return 0;
}


这篇关于HiCode信息学奥赛两日一题 T11递归实现组合型枚举的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程