题目
传送门:QWQ
分析
不想画图。
https://www.luogu.org/problemnew/solution/P1641
好神仙的题啊。
代码
1 // luogu-judger-enable-o2 2 #include <bits/stdc++.h> 3 using namespace std; 4 typedef long long ll; 5 const int maxn=15000000; 6 const ll MOD=20100403; 7 ll fac[maxn]; 8 int exgcd(ll& x,ll& y,ll a,ll b){ 9 if(!b){x=1;y=0;} 10 else{ exgcd(y,x,b,a%b); y-=x*(a/b); } 11 } 12 ll inv(ll a){ 13 ll x=0,y=0; 14 exgcd(x,y,a,MOD); 15 return (x+MOD)%MOD; 16 } 17 void Fac(ll k){ fac[1]=1;for(ll i=2;i<=k;i++) fac[i]=(fac[i-1]*i)%MOD; } 18 ll C(ll n,ll m){return (((fac[n]*inv(fac[n-m]))%MOD)*inv(fac[m]))%MOD;} 19 int main(){ 20 ll n,m; 21 scanf("%lld%lld",&n,&m); 22 ll len=n+m; Fac(len); 23 printf("%lld ",(C(len,m)-C(len,m-1)+MOD)%MOD); 24 return 0; 25 }