套公式写的,为啥不对呢?
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=2e3,mod=1e5+3;
int a,b,c,d,k,ans;
int fac[N+50],lg[60];
int quickpow(int x,int k){
lg[0]=x;
for(int i=1;i<=30;i++){
lg[i]=lg[i-1]*lg[i-1]%mod;
}
int res=1;
for(int i=0;i<=30;i++){
if(!((k>>i)&1)) continue;
res=res*lg[i]%mod;
}
return res;
}
int C(int n,int m){
if(n<m) return 0;
return fac[n]*quickpow(fac[m],mod-2)%mod;
}
signed main(){
fac[0]=1;
for(int i=1;i<=N;i++){
fac[i]=fac[i-1]*i%mod;
}
scanf("%lld%lld%lld%lld%lld",&a,&b,&c,&d,&k);
for(int i=0;i<=k;i++){
ans+=C(a,i)*C(b,i)%mod*fac[i]%mod*C(a+c-k,k-i)%mod*C(d,k-i)%mod*fac[k-i]%mod;
ans%=mod;
}
printf("%lld",ans);
}