递归实现指数型枚举(递归)

92. 递归实现指数型枚举 - AcWing题库

每个数有选和不选两种情况

我们把每个数看成每层,可以画出一个递归搜索树

叶子节点就是我们的答案

很容易写出每dfs函数

dfs传入一个u表示层数

当层数大于我们n时,去判断每个数字的选择情况,输出被选的数字

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;

const int N = 20;

int n;
bool vis[N];

void dfs(int u) 
{
    if (u > n) 
    {
        for (int i = 1;i <= n;i++)
        {
            if (vis[i])
            {
                cout << i << ' ';
            }
        }
        cout << '\n';
    }else {
        vis[u] = true;
        dfs(u+1);
        
        vis[u] = false;
        dfs(u+1);
    }
}

int main() 
{
    cin >> n;
    
    dfs(1);
    
    return 0;
}
相关推荐
乌云暮年9 天前
算法刷题整理合集(六)
算法·蓝桥杯·动态规划·哈希算法·递归
Trouvaille ~18 天前
【Java篇】一法不变,万象归一:方法封装与递归的思想之道
java·开发语言·面向对象·javase·递归·方法·基础入门
weixin_4684668519 天前
C++蓝桥杯皮亚诺曲线距离求解
c++·算法·蓝桥杯·递归·皮亚诺·pow函数误差·皮亚诺曲线距离
_extraordinary_24 天前
递归专题刷题
dfs·递归
丁劲犇1 个月前
碳基生物的悲歌-DeepSeek思考实现Linux动态库递归收集工具
linux·递归·deepseek·ldd
利刃大大2 个月前
【回溯+剪枝】单词搜索,你能用递归解决吗?
剪枝·深度优先遍历·回溯·递归
利刃大大2 个月前
【回溯+剪枝】优美的排列 && N皇后(含剪枝优化)
算法·二叉树·剪枝·回溯·递归
robin_suli2 个月前
穷举vs暴搜vs深搜vs回溯vs剪枝系列一>单词搜索
算法·剪枝·深度优先遍历·回溯·递归
秋已杰爱2 个月前
递归练习三(决策树)
算法·决策树·递归·二叉树‘
硕风和炜3 个月前
【LeetCode: 112. 路径总和 + 二叉树 + 递归】
java·算法·leetcode·面试·二叉树·递归