/*
* @Description: To iterate is human, to recurse divine.
* @Autor: Recursion
* @Date: 2022-04-07 21:19:18
* @LastEditTime: 2022-04-07 21:23:51
*/
#include <bits/stdc++.h>
#define LL long long
using namespace std;
const int maxn = 1e6 + 10;
const int mod = 1e9 + 7;
const int INF = 1e9 + 10;
const int N = 1e6;
int n,m;
int f(int n,int m)
{
if(n < m||n<=0||m<=0)
return 0;
if(n == m)
return 1;
else
return f(n - 1,m - 1) + f(n - 1,m) * m;
}
LL fac(LL k)
{
if(k == 1)
return 1;
else
return k * fac(k - 1);
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin >> n >> m;
cout << fac(m)*f(n,m) << endl;
return 0;
}
P1287 盒子与球
最新推荐文章于 2025-12-13 19:26:52 发布
这篇博客探讨了一个关于递归和组合数学的问题,即如何计算不同方式放置n个球到m个盒子中的方法数。通过递归函数f(n,m)和阶乘计算,程序展示了如何解决这类问题。代码中定义了递归函数f并实现了阶乘计算,最后在主函数中输入n和m并输出结果。
566

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



