题意:传送门
题解:参考博客:传送门
根据上面博客可知最后使用总方案数-不合法方案数:
对于除法的取余,采用求逆元中的费马小定理进行求解即可。
附上代码:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll mod=20100403;
ll n,m;
ll quick_mod(ll a,ll p)
{
ll ans=1;
a=a%mod;
while(p){
if(p&1){
ans=ans*a%mod;
}
p>>=1;
a=a*a%mod;
}
return ans%mod;
}
ll C(ll x,ll y)
{
ll a=1;
for(ll i=1;i<=x;i++){
a=a*i%mod;
}
ll b=1;
for(ll i=1;i<=x-y;i++){
b=b*i%mod;
}
ll c=1;
for(ll i=1;i<=y;i++){
c=c*i%mod;
}
b=(b*c)%mod;
ll mu=quick_mod(b,mod-2);
return (a*mu)%mod;
}
int main()
{
scanf("%lld%lld",&n,&m);
printf("%lld\n",(C(n+m,n)-C(n+m,n+1)+mod)%mod);
return 0;
}