每次用一个点跟其他点连接,然后就出出现两个前面解决过的子问题,比如说: F(6) = F(4)*F(0) + F(2)*F(2) + F(4)*F(0) F(8) = F(6)*F(0) + F(4)*F(2) + F(2)*F(4) + F(0)*F(6) import sys def main():     n = int(sys.stdin.readline().strip())     a = [0 for i in range(1000+2)]     a[0] = 1     a[2] = 1     a[4] = 2     if n == 2 or n == 4:         return a[n]     for i in range(6, n+1):         if i % 2 != 0:             continue         res = 0         total = i - 2         temp = i - 2         while temp >= 0:             l = temp             r = total - l             res = (res + ((a[l]%1000000007)* (a[r]%1000000007))%1000000007)%1000000007             temp -= 2         a[i] = res     return a[n] print(main())
点赞 1

相关推荐

笑着秋招😊:我一直认为努力有回报是一件很幸福很幸福的事情,恭喜你
点赞 评论 收藏
分享
10-13 13:49
南京大学 财务
饿魔:笑死我了,你简直是个天才
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务