题意:
给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);
}
}