0
点赞
收藏
分享

微信扫一扫

AcWing 93. 递归实现组合型枚举【DFS】【递归】

九点韶留学 2022-03-25 阅读 32

AcWing 93. 递归实现组合型枚举


一、题目链接

AcWing 93. 递归实现组合型枚举


二、题目分析

(一)算法标签

DFS 递归

(二)解题思路


三、AC代码

解法一:

#include <iostream>
#include <cstring>
#include <algorithm>

using namespace std;

int n, m;
int state[25];
void dfs(int u)
{
    if (u > m)
    {
        for (int i = 1;i <= m; i ++ )
            printf("%d ", state[i]);
        puts("");
        return;
    }
    for (int i = state[u - 1] + 1; i <= n - m + u; i ++ )
    {
        state[u] = i;
        dfs(u + 1);
        state[u] = 0;
    }
    
}
int main()
{
    cin >> n >> m;
    dfs(1);
    return 0;
}

四、其它题解

AcWing 93. 递归实现组合型枚举

举报

相关推荐

0 条评论