2009年12月7日星期一.sgu130

2009年12月7日星期一.sgu130

 1  /*
 2   * SOUR:sgu130
 3   * ALGO:catalan数看组合数学的证明
 4   * DATE: 2009年 12月 07日 星期一 16:34:54 CST
 5   * COMM:2
 6   *  */
 7  #include < iostream >
 8  #include < cstdio >
 9  #include < cstdlib >
10  #include < cstring >
11  #include < algorithm >
12  using   namespace  std;
13  typedef  long   long  LL;
14  const   int  maxint  =   0x7fffffff ;
15  const   long   long  max64  =  0x7fffffffffffffffll;
16 
17  LL n,res,F[ 32 ];
18  LL f(LL s)
19  {
20       if (F[s]  !=   0 ) {
21           return  F[s];
22      }
23       if (s  ==   0 ) {
24           return   1 ;
25      }
26 
27      LL sum  =   0 ;
28       for (LL i  =   0 ;i  <  s;i ++ ) {
29          sum  +=  f(i)  *  f(s  -  i  -   1 );
30      }
31       return  (F[s]  =  sum);
32  }
33 
34  int  main()
35  {
36      memset(F, 0 , sizeof (F));
37      cin  >>  n;
38      cout  <<  f(n)  <<   '   '   <<  n  +   1   << endl;
39       return   0 ;
40  }
41 
42 
43 

你可能感兴趣的:(2009年12月7日星期一.sgu130)