bobby


私信TA

用户名:yuncker

访问量:7290

签 名:

等  级
排  名 1564
经  验 2780
参赛次数 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 人评分

  评论区

  • «
  • »