题解 | 二叉树

二叉树

https://www.nowcoder.com/practice/aaefe5896cce4204b276e213e725f3ea

import sys
from typing import List
from functools import lru_cache
import bisect
n, m = map(int, input().split())

mod = 1000000007
class Solution:
    def computeWays(self, n: int, m: int) -> int:
        @lru_cache(None)    
        def dfs(n, m):
            if n == 0:
                return 1
            if m == 0:
                return 0
            ans = 0
            for k in range(n):
                ans = (ans + (dfs(n - k - 1, m - 1) * dfs(k, m - 1)) % mod) % mod
            return ans % mod
        return dfs(n, m)


# 测试用例:
solution = Solution()
print(solution.computeWays(n, m))

全部评论

相关推荐

不愿透露姓名的神秘牛友
03-09 19:13
求你们别卷了的大学生...:你不骂他,我就要骂你了
今天你投了哪些公司?
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务