其他分享
首页 > 其他分享> > P2638 安全系统

P2638 安全系统

作者:互联网

传送门

隔板法:n个盒子放k个小球。用n-1个隔板隔开k个小球。如果要求每个盒子中至少有一个小球则方案数为C(k-1,n-1),如果盒子里可以没有小球则为C(k+n-1,n-1)。

#include<iostream>
using namespace std;
typedef unsigned long long LL;
LL n, a, b, ans;
LL C(LL n, LL m) {
    LL res = 1;
    for (LL i = 1; i <= m; i++)
        res = res * (n - m + i) / i;
    return res;
}
int main(void)
{
    cin >> n >> a >> b;
    for (LL i = 0; i <= a; i++)
    {
        for (LL j = 0; j <= b; j++)
        {
            ans += C(i + n - 1, n - 1) * C(j + n - 1, n - 1);
        }
    }
    cout << ans;
    return 0;
}

 

标签:隔板,盒子,传送门,系统,LL,小球,long,安全,P2638
来源: https://www.cnblogs.com/xqk0225/p/16079195.html