标签:namespace init define 帮助 string std 多少 lin main
【数据范围】
对于30%的数据,保证1<=m<=n<=1000
对于100%的数据,保证1<=m<=n<=1000000
Code:
#include<cstdio> #include<algorithm> #include<iostream> #include<cstring> #define MOD 20100403 using namespace std; long long x,y,n,m,p,f[2000008],a,b,x1,y1,ans; void exgcd(long long a,long long b){ if(b==0){ x=1,y=0; return; } exgcd(b,a%b); long long t=x; x=y; y=t-a/b*y; } void init(){ f[0]=1; for(int i=1;i<=n+m;i++) f[i]=f[i-1]*i%MOD; } int main(){ scanf("%lld%lld",&n,&m); init(); a=n+m; b=m; long long gay1=1,gay2=1; for(int i=1;i<=b;i++){ exgcd(i,MOD); x=(x+MOD)%MOD; gay1=gay1*x%MOD; if(i==b-1) x1=gay1; } for(int i=1;i<=a-b;i++){ exgcd(i,MOD); x=(x+MOD)%MOD; gay2=gay2*x%MOD; } exgcd(a-b+1,MOD); x=(x+MOD)%MOD; y1=gay2*x%MOD; ans=(f[a]*gay1%MOD*gay2%MOD-f[a]*x1%MOD*y1%MOD+MOD)%MOD; printf("%lld",ans); }
标签:namespace init define 帮助 string std 多少 lin main
原文地址:http://www.cnblogs.com/WQHui/p/7588019.html