晚风


私信TA

用户名:uq_24611172404

访问量:2491

签 名:

等  级
排  名 5234
经  验 1572
参赛次数 0
文章发表 35
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

TA的其他文章

解题思路:一号操作,二号操作都实行通过搜索找到最大值,但是二号操作变不到9就不要用了

注意事项:

参考代码:

n,a,b=map(int,input().split())

n=list(str(n))

s=[]

def dfs(a,b,n,i):

    global s

    if i==len(n):

        s.append(int(''.join(n)))

        return

    else:

        cnt1=9-int(n[i])

        cnt2=1+int(n[i])

        if(a>=cnt1):

            x=n[i]

            n[i]='9'

            dfs(a-cnt1,b,n,i+1)

            n[i]=x#要记得回溯

        else:#进不到9时

            x=n[i]

            p=int(n[i])+a

            n[i]=str(p)

            dfs(0,b,n,i+1)

            n[i]=x

        if(b>=cnt2):

            x=n[i]

            n[i]='9'

            dfs(a,b-cnt2,n,i+1)

            n[i]=x


dfs(a,b,n,0)  

print(max(s))


 

0.0分

0 人评分

  评论区

  • «
  • »