lucas写的,为什么 #2#4#7#8不对?
#include<bits/stdc++.h>
#define int unsigned long long
using namespace std;
int power(int x, int b, int p) {
int ans=1;
for (; b; b>>=1, x=x*x%p)
if (b&1) ans=ans*x%p;
return ans;
}
int C(int n, int m, int p) {
if(n<m) return 0;
if (m>n-m) m=n-m;
int a=1, b=1;
for (int i = 1; i <= m; i++) {
a=(a*(n - m + i))%p;
b=(b*i)%p;
}
return (a*power(b, p-2, p))%p;
}
int lucas(int m, int n, int p) {
if (!m) return 1;
return lucas(n/p, m/p, p)*C(n%p, m%p, p)%p;
}
int fac(int n, int p) {
int ans=1;
for (int i=n; i>=2; --i)
ans=ans*i%p;
return ans%p;
}
int a, b, c, d, k, p=1e5+3, ans;
signed main() {
ios::sync_with_stdio(0);
cin.tie(0), cout.tie(0);
cin >> a >> b >> c >> d >> k;
for (int i=0; i<=k; ++i)
ans=(ans+lucas(i, a, p)*lucas(i, b+d-(k-i), p)*fac(i, p)*lucas(k-i, c, p)*lucas(k-i, d, p)*fac(k-i, p))%p;
cout << ans << '\n';
return 0;
}