P1350 车的放置


组合递推搞一搞,注意取模即可


#include<bits/stdc++.h>
using namespace std;
const int mod=100003;
int ans,inv[100001],c[2055][2055],a,k,b,kc,d;
int f(int a,int b,int kc){return 1ll*c[a][kc]*c[b][kc]*inv[kc]%mod;}
int main()
{
    cin>>a>>b>>kc>>d>>k;
    inv[0]=1;
    for(int i=0;i<=2050;i++)c[i][0]=1;
    for(int i=1;i<=2050;i++)inv[i]=(inv[i-1]*i)%mod;
    for(int i=1;i<=2050;i++)for(int j=1;j<=i;j++)
    c[i][j]=(c[i-1][j]+c[i-1][j-1])%mod;
    for(int i=0;i<=k;i++)
    ans=(ans+1ll*f(a,b,i)*f(a+kc-i,d,k-i)%mod)%mod;
    cout<<ans;
}
原文地址:https://www.cnblogs.com/SFWR-YOU/p/11586918.html