/ Vijos / 题库 / FBI树 /

题解

157 条题解

  • 0
    @ 2008-09-12 15:54:25

    当n=0时,输出'B'

    害我两次才过

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

  • 0
    @ 2008-09-09 20:10:49

    KISS YOU 可 是杂宝

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

  • 0
    @ 2008-09-07 11:27:21

    一定要考虑0的情况!---|---|-忠告

  • 0
    @ 2008-09-02 20:00:30

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    其实我不知道怎么做

  • 0
    @ 2008-08-23 11:42:55

    type

    pointer=^rec;

    rec=record

    data:char;

    lson,rson:pointer;

    end;

    var

    tree:pointer;

    n:longint;

    st:ansistring;

    procedure maketree(var tree:pointer; st:ansistring);

    var

    i,mid,t0,t1:longint;

    s1,s2:ansistring;

    begin

    if tree=nil then

    begin

    t1:=0; t0:=0;

    for i:=1 to length(st) do

    if st[i]='0' then inc(t0) else inc(t1);

    if (t0=0) and (t1=0) then exit else

    begin

    new(tree); tree^.lson:=nil; tree^.rson:=nil;

    if (t10) and (t00) then tree^.data:='F' else

    if t0=0 then tree^.data:='I' else

    tree^.data:='B';

    maketree(tree^.lson,copy(st,1,length(st) div 2));

    maketree(tree^.rson,copy(st,length(st) div 2+1,length(st) div 2));

    end;

    end;

    end;

    procedure out(tree:pointer);

    begin

    if treenil then

    begin

    st:=tree^.data+st;

    out(tree^.rson);

    out(tree^.lson);

    end;

    end;

    begin

    assign(input,'data.in'); reset(input);

    assign(output,'data.out'); rewrite(output);

    readln(n);

    readln(st);

    tree:=nil;

    maketree(tree,st);

    st:='';

    out(tree);

    writeln(st);

    close(input); close(output);

    end.

    指针用起来就是方便啊~~~~

  • 0
    @ 2008-08-19 10:25:22

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    注意n=0的情况,此时应不再读入ansistring,直接输出'B'。

    注意递归边界。

  • 0
    @ 2008-08-19 10:23:08

    简单的满二叉树问题嘛

  • 0
    @ 2008-07-23 21:07:06

    简单题.水过..

  • 0
    @ 2007-11-18 19:04:42

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

  • 0
    @ 2007-11-15 08:16:17

    囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧

  • 0
    @ 2007-11-11 11:26:31

    原来要用ansistring啊

    我交了3次

  • 0
    @ 2007-11-02 16:46:32

    囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧

  • 0
    @ 2007-10-16 19:49:49

    楼下的强人。

    交5次没过。

    因为。

    因为

    因为测评机出问题了

    不是你的错。。。。。

  • 0
    @ 2007-10-16 19:40:54

    提交4遍没过啊,怎么全是编译错误,题解也不行,晕啊

    由于本人提交错误过多,通过率下降2%

  • 0
    @ 2007-10-03 22:19:28

    先建树,在后序遍历即可.

    我是第1000个!!!!

  • 0
    @ 2007-08-26 08:47:30

    非常简单,要努力

  • 0
    @ 2007-08-23 22:51:56

    用SUM数组纪录前i位数中O的个数;

    递归求解

    定义过程lrd(L,r) 表示结点所占O/1串的区间(L-->r)

    递归左子树(L,(L+r) div 2);

    递归右子树((L+r) div 2+1,r);

    输出结点类型('F' OR 'B' OR 'I');

    既然楼下说不贴程序那就不贴了.

  • 0
    @ 2007-08-23 22:16:48

    用递归做

    当长度大于1时分左子树和右子树递归

    递归回途中判断字符串所属的类型(FBorI),再打印即可

    (定义类型用ansistring才能过);

    你可以在这里写上你的解题思路或者解题方法等

    但规定要求不能贴出任何有关于此题的程序代码

    大家请遵守规定

  • 0
    @ 2007-08-22 20:15:47

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

  • 0
    @ 2007-08-21 10:03:00

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

信息

ID
1114
难度
3
分类
数据结构 | 点击显示
标签
递交数
4151
已通过
2216
通过率
53%
被复制
26
上传者