Count the Trees





Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)

Total Submission(s): 1840    Accepted Submission(s): 1221









Problem Description

Another common social inability is known as ACM (Abnormally Compulsive Meditation). This psychological disorder is somewhat common among programmers. It can be described as the temporary (although frequent) loss of the faculty of speech when the whole power
of the brain is applied to something extremely interesting or challenging. 

Juan is a very gifted programmer, and has a severe case of ACM (he even participated in an ACM world championship a few months ago). Lately, his loved ones are worried about him, because he has found a new exciting problem to exercise his intellectual powers,
and he has been speechless for several weeks now. The problem is the determination of the number of different labeled binary trees that can be built using exactly n different elements. 





For example, given one element A, just one binary tree can be formed (using A as the root of the tree). With two elements, A and B, four different binary trees can be created, as shown in the figure. 





If you are able to provide a solution for this problem, Juan will be able to talk again, and his friends and family will be forever grateful. 





 





Input

The input will consist of several input cases, one per line. Each input case will be specified by the number n ( 1 ≤ n ≤ 100 ) of different elements that must be used to form the trees. A number 0 will mark the end of input and is not to be processed. 

 





Output

For each input case print the number of binary trees that can be built using the n elements, followed by a newline character. 

 





Sample Input

1

2

10

25

0

 





Sample Output

1

4

60949324800

75414671852339208296275849248768000000

 

 

#include<iostream>

#include<cstdio>

#include<cstring>

#include<cmath>

using namespace std;

int h[102][1001];

int main()

{

   int n;

   h[1][0]=1;h[1][1]=1;

   h[2][0]=1;h[2][1]=1;

   for(int i=3;i<=100;i++)

   {

       int temp=0,jin=0;

       for(int j=1;j<=h[i-1][0];j++)

            {

                temp=h[i-1][j]*(4*i-2);

                h[i][j]=temp%10;

                h[i][j+1]=+temp/10;

            }

        int t=h[i-1][0];

       t=h[i][t+1]>0?t+1:t;

       while(h[i][t]>=10)

       {

            h[i][t+1]=h[i][t]/10;

            h[i][t]%=10;

            t++;

       }

       for(int j=t;j>=2;j--)

            {

                temp=h[i][j];

                h[i][j]=temp/(i+1);

                h[i][j-1]+=temp%(i+1)*10;

            }

   }

   for(int i=2;i<=100;i++)

   {

        for(int j=1;j<=i;j++)

              for(int k=1;k<=h[i][0];k++)

                    h[i][k]*=j;

         for(int t=1;t<=h[i][0];t++)

       {

             int temp=h[i][t];

             h[i][t]=temp%10;

             h[i][t+1]+=temp/10;

       }

        int t=h[i-1][0];

       while(h[i][t]>=10)

       {

            h[i][t+1]=h[i][t]/10;

            h[i][t]%=10;

            t++;

       }

        h[i][0]=t;

   }

   while(cin>>n&&n)

   {

         for(int i=h[n][0];i>=1;i--)

            printf("%d",h[n][i]);

         printf("\n");

   }

   return 0;

}

未AC的更多相关文章

  1. 九度OJ 1016 火星A + B 未AC版,整型存储不下

    #include <iostream> #include <string.h> #include <sstream> #include <math.h> ...

  2. Poj 1755Triathlon 未Ac,先mark

    地址:http://poj.org/problem?id=1755 题目: Triathlon Time Limit: 1000MS   Memory Limit: 10000K Total Subm ...

  3. 字符串[未AC](后缀自动机):HEOI 2016 str

    超级恶心,先后用set维护right,再用主席树维护,全部超时,本地测是AC的.放心,BZOJ上还是1S限制,貌似只有常数优化到一定境界的人才能AC吧. 总之我是精神胜利了哦耶QAQ #include ...

  4. UOJ.87.mx的仙人掌(圆方树 虚树)(未AC)

    题目链接 本代码10分(感觉速度还行..). 建圆方树,预处理一些东西.对询问建虚树. 对于虚树上的圆点直接做:对于方点特判,枚举其所有儿子,如果子节点不在该方点代表的环中,跳到那个点并更新其val, ...

  5. UVA1625Color Lenth(DP+LCS变形 未AC)

    http://acm.hust.edu.cn/vjudge/contest/view.action?cid=105116#problem/C 紫书P276 res[i][j]表示第一个序列移动i个,第 ...

  6. NOIp 2014 #2 联合权值 Label:图论 !!!未AC

    题目描述 无向连通图G 有n 个点,n - 1 条边.点从1 到n 依次编号,编号为 i 的点的权值为W i ,每条边的长度均为1 .图上两点( u , v ) 的距离定义为u 点到v 点的最短距离. ...

  7. ZOJ3229 Shoot the Bullet [未AC]

    Time Limit: 2 Seconds      Memory Limit: 32768 KB      Special Judge Gensokyo is a world which exist ...

  8. 2833 奇怪的梦境 未AC

    2833 奇怪的梦境 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold         题目描述 Description Aiden陷入了一个奇怪的梦境:他被困在一个小 ...

  9. Poj 3057 未AC http://poj.org/showsource?solution_id=15175171

    <span style="font-size:18px;">#include <iostream> #include <cstdio> #inc ...

随机推荐

  1. yum更新出错-解决

    Total download size: 14 MIs this ok [y/d/N]: 命令里已经yum install -y了,但是还是需要选择Y,N没有自动执行,请问这个要怎么破. PS:我是在 ...

  2. OnVScroll的通常处理

    void CDialogLAMP::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) { // TODO: 在此添加消息处理程序代码 ...

  3. WPF 遍历资源字典中的控件

    object obItem=this.FindResource("canvasdt"); if (obItem is System.Windows.DataTemplate) { ...

  4. Ioc和Aop底层原理

    Spring中主要用到的设计模式有工厂模式和代理模式. IOC:Inversion of Control控制反转,也叫依赖注入,通过 sessionfactory 去注入实例:IOC就是一个生产和管理 ...

  5. 05 正确运行一个Go程序

    Go代码文件,程序中必须指定启动函数main() Hello.go package main //声明为main包,即可以编译成二进制程序 import "fmt" //导入fmt ...

  6. 小程序API接口调用

    1.在config.js中写入api接口及appkey   2.在HTTP.js中引入config.js,然后新建HTTP.js,在里进行wx.request的封装. 定义一个HTTP的类,来类里定义 ...

  7. 百度编辑神器ueditor在ajax或form提交内容时候异常

    百度编辑神器ueditor在ajax或form提交内容时候异常,一:⑴web.config中<system.web> <httpRuntime requestValidationMo ...

  8. BZOJ 1016 生成树计数

    现在给出了一个简单无向加权图.你不满足于求出这个图的最小生成树,而希望知道这个图中有多少个不同的最小生成树.(如果两颗最小生成树中至少有一条边不同,则这两个最小生成树就是不同的).由于不同的最小生成树 ...

  9. Summer training #6

    A:水.看0多还是1多就行 B:模拟二进制运算 ,,卡了好久 不应该 #include <bits/stdc++.h> #include <cstring> #include ...

  10. Dom修改元素样式

    提纲:我们可以通过js来修改元素的大小,颜色,位置等样式 1.element.style                         行内样式的操作 2.element.className    ...