题意:
给n个人(5 <= n <= 100),问能组成多少支队伍(每支队伍最少5人)
思路:
深搜
代码:
#include <cstdio>
int n, a;
void dfs(int m, int r)
{
if (r >= m)
{
a ++;
for (int i = m; i <= r-m; ++ i) dfs(i, r-i);
}
else
for (int i = m; i <= r-m; ++ i) dfs(i, r-i);
}
int main()
{
while (~scanf("%d", &n))
{
a = 0;
dfs(5, n);
printf("%d\n", a);
}
}
本文介绍了一个使用深度优先搜索解决的问题:给定人数,计算可以组成的队伍数量(每支队伍至少5人)。通过递归调用实现深搜算法,并提供了一段简洁的C++代码实现。
119

被折叠的 条评论
为什么被折叠?



