首页 > 其他 > 详细

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

时间:2019-07-02 19:00:40      阅读:102      评论:0      收藏:0      [点我收藏+]

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;
} 

  

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

原文:https://www.cnblogs.com/guangheli/p/11122447.html

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