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. 递归实现组合型枚举