有好心人帮我把py翻译为C++吗?
查看原帖
有好心人帮我把py翻译为C++吗?
372653
yaozhijiandeyeye楼主2020/12/8 22:13
mem = {}

def dp(pos, k):    # 前pos个数字,也就是 s[0:pos) ,划分成k段的收益
    if k==1:
        return int(s[0:pos])
    if (pos, k) in mem:
        return mem[(pos, k)]
    res = 0

    for x in range(k-1, pos):
        # 枚举最后一段的起点x,s[0:pos) 划分成 s[0:x), s[x:pos)
        res = max(res, dp(x, k-1) * int(s[x:pos]))
    
    mem[(pos, k)] = res

    return res

n, k = map(int,input().split())
s = input().strip()
print(dp(n, k+1))

2020/12/8 22:13
加载中...