其他分享
首页 > 其他分享> > BZOJ 2729: [HNOI2012]排队 排列组合 + 高精度

BZOJ 2729: [HNOI2012]排队 排列组合 + 高精度

作者:互联网

Code: 

#include<bits/stdc++.h> 
#define maxn 10003 
#define ll long long 
#define p 10000000000ll
using namespace std;
ll base[maxn];
int n,m,len=1;              
void multiply(int x)
{
    ll pre=0,tmp;
    for(int i=1;i<=len;i++)
    { 
        tmp=base[i]*x;
        base[i]=tmp%p+pre;
        pre=tmp/p;
    }
    if(pre)++len, base[len]=pre;     
}
int main(){
    scanf("%d%d",&n,&m); 
    base[1]=1;
    for(int i=1;i<=n;i++)multiply(i);
    for(int i=n-m+4;i<=n+2;i++)multiply(i);
    multiply(n+1);
    multiply(n*(n+3)+2*m);
    printf("%lld",base[len]);
    while(--len)printf("%010lld",base[len]); 
    return 0;
} 

  

标签:pre,int,ll,2729,HNOI2012,maxn,long,BZOJ,define
来源: https://www.cnblogs.com/guangheli/p/11122447.html