207 条题解

  • 0
    @ 2008-11-12 19:49:48

    公式:

    (2*n)!/(n!n!)/(n+1);

    自己优化一下。

    (难道就没有人用C++吗?)

    #include

    using namespace std;

    long long sum;

    int main ()

    {int i,n;

    sum=1;

    cin>>n;

    for(i=n+1;i

  • 0
    @ 2008-11-10 20:59:48

    var

    n,sum:longint;

    procedure p(i,j:longint);

    var

    m:longint;

    begin

    if j-1=n then

    begin inc(sum);exit; end;

    m:=j;

    p(i+1,j+1);

    if i-1>=0 then p(i-1,j);

    end;

    begin

    readln(n);

    p(1,2);

    writeln(sum);

    end.

    一次AC 前所未有啊!!!! 感动!!!

  • 0
    @ 2008-11-10 19:54:15

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

    program hly;

    var

    n,ans:longint;

    procedure search(a,b,k:longint);

    begin

    if k=n then begin inc(ans); exit; end;

    if a>0 then search(a-1,b+1,k);

    if b>0 then search(a,b-1,k+1);

    end;

    procedure init;

    begin

    readln(n);

    ans:=0;

    end;

    begin

    init;

    search(n,0,0);

    writeln(ans);

    end.

  • 0
    @ 2008-11-07 18:04:16

    begin

    writeln(1);

    end.

  • 0
    @ 2008-11-04 19:31:53

    sum=C(2*n,n)/(n+1);

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

  • 0
    @ 2008-11-04 07:19:03

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    #include

    using namespace std;

    int main()

    {

    int n;

    cin>>n;

    int i,j,k,a,b;

    a=2*n;b=n;

    float c=1;

    for(i=0;i

  • 0
    @ 2008-11-03 21:10:30

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

    #include

    #include

    using namespace std;

    long k,total=0;

    void ini(){

    cin>>k;

    return;

    }

    void work(long n,long m){

    if(m>k-n) return;

    if(n==k) {total++;return;}

    work(n,m+1);

    if(m>0) work(n+1,m-1);

    return;

    }

    int main(){

    ini();

    work(0,0);

    cout

  • 0
    @ 2008-11-01 15:35:30
  • 0
    @ 2009-07-06 20:40:18

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

    我在不知道栈这种类型的情况下用排列组合的方法AC了

    不知是小菜还是被Orz

  • 0
    @ 2008-10-31 20:17:42

    标准格式下不会有人比我短了。。。

    var

    u:extended;

    i,n:longint;

    begin

    read(n);u:=1;

    for i:=n+1 to 2*n do u:=u*i/(i-n);

    writeln(u/(n+1):0:0);

    end.

  • 0
    @ 2008-10-28 20:17:38

    卡特兰数..

    Cata(n)= 1/(n+1)*C(2n,n)

    主要程序

    for i := n+2 to n*2 do a := a * i;

    for i := 2 to n do a := a div i;

  • 0
    @ 2008-10-28 20:06:05

    晕死 DFS暴搜...居然也过...

    #include

    void dfs(int a,int b,int c);

    int n,ans;

    int main()

    {

    scanf("%d",&n);

    dfs(n,0,0);

    printf("%d",ans);

    return 0;

    }

    void dfs(int a,int b,int c)

    {

    if(c == n)

    ans++;

    else

    {

    if(a > 0)

    dfs(a-1,b+1,c);

    if(b > 0)

    dfs(a,b-1,c+1);

    }

    }

  • 0
    @ 2008-10-27 20:45:54

    就是传说中的CATALAN数。一次秒杀…………还用的LONGINT;

    P/P=(4*I-2)/(I+1)

  • 0
    @ 2008-10-27 19:17:34

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

    递归+记忆化搜索

    var n:longint;

    a:array[-1..20,-1..20] of longint;

    function f(x,y:longint):longint;

    begin

    if a[x,y]0 then exit(a[x,y]);

    if y=0 then f:=1 else

    if (x>n) or (x

  • 0
    @ 2008-10-27 17:52:58

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

    var

    n,i:longint;

    a:extended;

    begin

    readln(n);

    a:=1;

    for i:=1 to n do

    a:=a*(2*n+1-i)/i;

    a:=a/(n+1);

    writeln(a:0:0);

    end.

    catalan顺秒,没看题,直接交的“二叉树数”的没加高精度的代码

  • 0
    @ 2008-10-21 01:19:55

    一看就知道是组合

    为了复习搜索,还是写了dfs

    在我格式严谨得连“writeln(ans)”都要专门写一个"procedure outs;"的情况下,30行内完成……

    一次AC就是爽阿

  • 0
    @ 2008-10-15 22:16:57

    var x,y:extended; i,n:longint;

    Begin

    readln(n);

    x:=1; y:=1;

    for i:=1 to n do x:=x*i;

    for i:=n+1 to 2*n do y:=y*i;

    writeln(y/x/(n+1):0:0);

    end.

    卡特兰数 真牛逼~!

  • 0
    @ 2008-10-15 22:01:12

    水水水水水水水水水水…………………………水水水水水水题啊啊啊啊啊啊!!!!

    catalan数列

    c(2n,n)/(n+1)

    其中c(2n,n)是组合数

    注意如果死算,当n==15时程序输出是错误的,要cheat一下!!!!!!!!!

  • 0
    @ 2008-10-13 14:51:32

    伟大的卡特兰数···

  • 0
    @ 2008-10-12 22:52:55

    卡特兰数

    用extended 直接搞定

信息

ID
1122
难度
2
分类
组合数学 | Catalan数列 点击显示
标签
递交数
4090
已通过
2514
通过率
61%
被复制
22
上传者