1120 机器人走方格 V3

来源:互联网 发布:阿里云代理商技术 编辑:程序博客网 时间:2024/04/30 14:08

+Lucas

线

线

Cn12n2Cn22n2

10007

LucasCmn mod P=Cm mod Pn mod PCmpnp mod P

#include<iostream>#include<cstdio>using namespace std;#define ll long long#define p 10007inline poww(ll a,ll b){  ll ans=1;  a%=p;  while (b){    if (b&1) ans=ans*a%p;    b>>=1;    a=a*a%p;  }  return ans;}inline ll C(ll n,ll m){  if (m>n) return 0;  ll ans=1;  for (int i=1;i<=m;++i){    ll a=(n+i-m)%p;    ll b=i%p;    ans=ans*(a*poww(b,p-2)%p)%p;  }  return ans;}inline ll Lucas(ll n, ll m){  if(m==0) return 1;  return C(n%p,m%p)*Lucas(n/p,m/p)%p;}int main(){  int n;  scanf("%d",&n);  n--;  ll ans1=Lucas(n+n,n);  ll ans2=Lucas(n+n,n-1);  ans1=((ans1-ans2+p)%p+ans1-ans2+p)%p;  printf("%lld\n",ans1);  return 0;}
原创粉丝点击