fzu2015vote 组合 逆元

来源:互联网 发布:php 路由 pathinfo 编辑:程序博客网 时间:2024/06/08 19:11

fzu2015

http://fayaa.com/code/view/27362/raw/

#include<iostream>#include<cstdio>using namespace std;__int64 jc[210],mod=1000000007;__int64 exgcd(__int64 a,__int64 b,__int64 &x,__int64 &y){if(b==0)return x=1,y=0,a;__int64 res=exgcd(b,a%b,y,x);y-=a/b*x;return res;}__int64 Inv(__int64 a,__int64 mod){__int64 x,y;exgcd(a,mod,x,y);return (x%mod+mod)%mod;}__int64 C(int n,int m){if(n==m)return 1;if(m==0)return 1;if(m==1)return n;__int64 d=jc[m]*jc[n-m]%mod;return jc[n]*Inv(d,mod)%mod;}int main(){int i,j,k,N,M,n;for(jc[1]=1,i=2;i<=200;i++)jc[i]=jc[i-1]*i%mod;//printf("%I64d\n",C(1,1));while(scanf("%d%d",&N,&M)!=EOF){n=N/2+1;__int64 ans=0;for(i=n;i<=N;i++)ans+=C(2*N-i-2,N-2)%mod;if(M==-1)ans=C(N+N-1,N-1)%mod-N*ans%mod;printf("%I64d\n",(ans%mod+mod)%mod);}return 0;}



原创粉丝点击