首页 > 其他 > 详细

wssb

时间:2019-07-21 23:16:40      阅读:89      评论:0      收藏:0      [点我收藏+]

include<bits/stdc++.h>

using namespace std ;

long long mod;

long long exgcd(long long a,long long b,long long &x,long long &y){
if(b==0){
x=1,y=0;
return a;
}
long long ret = exgcd(b,a%b,x,y);
int xx=x,yy=y;
x=yy;
y=xx-(a/b)*yy;
return ret;
}

long long inv(long long x){
long long a,b;
exgcd(x,mod,a,b);
a = (a%mod + mod) % mod;
return a;
}

long long C(long long m,long long n){
long long ret = 1;
for(int i=m;i>=m-n+1;i--){
ret = i;
ret %= mod;
}
for(int i=1;i<=n;i++){
ret
= inv(i);
}
return ret;
}

int main(){
long long K;
cin>>K>>mod;
long long ans = C(2K,K) - C(2K,K+1);
ans += mod ;
if(ans >= mod) ans -= mod;
cout<<ans<<endl;
return 0;
}

wssb

原文:https://www.cnblogs.com/SINXIII/p/11222915.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!