bobby


私信TA

用户名:yuncker

访问量:6764

签 名:

等  级
排  名 1522
经  验 2716
参赛次数 0
文章发表 23
年  龄 24
在职情况 学生
学  校 华东交通大学
专  业 软件

  自我简介:

解题思路:这里题目中的例子'10001011',函数f(l,r)用于递归建数比如f(a,b)表示字符串第a到第b个([a,b])的这个部分用于建树,具体看图

fullsizerender(14).jpg


注意事项:我写题的时候瞎画的图,有点潦草,见谅

参考代码:

def dfs(l,r):
    #确定中点
    mid=(l+r)//2
    #如果不是只有一个数字时
    if l!=r:
        #左子树
        dfs(l,mid)
        #右子树
        dfs(mid+1,r)
    b0,b1=0,0
    for i in range(l,r+1):
        if s[i]=='0':
            b0=1
        if s[i]=='1':
            b1=1
    if b0 and b1:
        print('F',end='')
    if not b0 and b1:
        print('I',end='')
    if b0 and not b1:
        print('B',end='')
n=int(input())
s=input().strip()
dfs(0,len(s)-1)


 

0.0分

3 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区