92. 递归实现指数型枚举

题目

92. 递归实现指数型枚举_第1张图片

思路

因为有n个数,每个数选或不选都是一种方案,而且要递增输出,那么就标记每个数是否备选,然后判断完n个数以后,就可以输出了

代码

#include
using namespace std;
int n;
bool f[100] = {0};
void dfs(int t)
{
	if (t > n)
	{
		for (int i = 1; i <= n; i ++ )
		{
			if (f[i]) cout << i << " ";
		}
		cout << endl;
		return;
	}
	
//	选 
	f[t] = 1;
	dfs(t + 1);
	
//	不选 
	f[t] = 0;
	dfs(t + 1);
	
    
}
int main()
{
    
    cin >> n;
    dfs(1);
    return 0;
}

总结

好久不写了,居然连这些题都不会了

你可能感兴趣的:(acwing蓝桥杯课,算法,深度优先,图论)