HDOJ1133

简介: 点击打开链接 卡特兰数的运用   ( C(m+n, n) - C(m+n, m+1) ) * m! * n! 化简即 (m+n)! * (m-n+1) / (m+1) #include#include#includeus...

点击打开链接


卡特兰数的运用  
( C(m
+n, n) - C(m+n, m+1) ) * m! * n! 化简即 (m+n)! * (m-n+1/ (m+1)


#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
long long  s[205][5002];
long long  tem[205][5002];
long long  temp[205][5002];
void f()
{
    int i , j;
    memset(s,0,sizeof(s));
    s[1][0]=1;s[2][0]=2;s[3][0]=6;
    for(i=4;i<205;i++)
    {
        for(j=0;j<5002;j++)
        {
            s[i][j]=s[i-1][j]*i;
        }
        for(j=0;j<5002;j++)
        {
            if(s[i][j]>=10)
            {
                
                s[i][j+1]+=(s[i][j]/10);
                s[i][j]%=10;
            }
        }
    }
}
int main()
{
    f();
    int i, j, d, t1, t2, count = 1;
    int m,n;
    while(cin>>m>>n)
    {
        if(m==0 && n==0)
            break;
        if(n>m)
        {
            cout<<"Test #"<<count<<":"<<endl;
            cout<<0<<endl;
            count++;
            continue;
        }
        t1 = (m-n+1);
        t2 = m+1;
        memset(tem,0,sizeof(tem));
        for(i=0;i<5002;i++)
        {
            tem[m+n][i] += s[m+n][i]*t1;
            tem[m+n][i+1] += tem[m+n][i]/10;
            tem[m+n][i] %= 10;
        }   
        memset(temp,0,sizeof(temp));
        d = 0;
        for(i=5001;i>=0;i--)
        {
            d=d*10+tem[m+n][i];
            temp[m+n][i]=d/t2;
            d%=t2;
        }
        
        cout<<"Test #"<<count<<":"<<endl;
        count++;
        i = 5001;
        while(i--)
        {
            if(temp[m+n][i]!=0)
                break;
        }
        for(;i>=0;i--)
        {
            cout<<temp[m+n][i];
        }
        cout<<endl;
    }
    return 0;
}


目录
打赏
0
0
0
0
15
分享
相关文章
深入解析边缘计算:架构、优势与挑战
深入解析边缘计算:架构、优势与挑战
180 0
UNIX操作系统的主要用途
UNIX操作系统的主要用途
309 4
【通义】AI视界|性能超越GPT-4o?最强大的开源AI模型来了……
本文介绍了五项最新AI技术动态,包括性能超越GPT-4o的开源AI模型Reflection70B、智谱清言App限时免费的视频通话功能、哈佛医学院研发的癌症诊断AI模型CHIEF、Replit推出的AI编程助手,以及英特尔与日本AIST合作设立的芯片制造研发中心。这些进展展示了AI领域的快速创新与广泛应用。更多详情,请访问通义官网体验。
网站是怎么屏蔽脏话的呢:简单学会SpringBoot项目敏感词、违规词过滤方案
一个社区最重要的就是交流氛围与审查违规,而这两者都少不了对于敏感词进行过滤的自动维护措施。基于这样的措施,我们才能基本保证用户在使用社区的过程中,不至于被敏感违规词汇包围,才能够正常的进行发布帖子和评论,享受美好的社区氛围。目前,对于 springboot 项目也有较为成熟的敏感词过滤方案。
607 0
网站是怎么屏蔽脏话的呢:简单学会SpringBoot项目敏感词、违规词过滤方案
天猫精灵蓝牙mesh协议栈demo解析
本文档简单主要介绍如何基于天猫精灵蓝牙mesh协议栈进行产品开发,对目前代码中的light demo进行说明。
阿里云商标注册不下来也收费吗?分情况!商标不通过驳回退款说明
理论上提交商标注册申请到商标局,商标局会收取规费,注册失败也是不可以退款的。但是阿里云推出一个商标安心注册申请,购买的是这个服务的话,哪怕商标注册申请没通过,被商标局驳回了,阿里云与你风险共担,也是可以退全款的
1219 0
阿里云商标注册不下来也收费吗?分情况!商标不通过驳回退款说明