本文共 441 字,大约阅读时间需要 1 分钟。
给一个歌单固定长度为K
有两种歌:X首长度为A,Y首长度为B的歌,A!=B 问有几种组合搭配 如: 输入 K = 5,A = 2 X = 3 B = 3 Y = 3 输出 9 由于结果比较大,因此输出结果取1000000007的余数。K = int(input())list = list(map(int,input().split(' ')))A = list[0]X = list[1]B = list[2]Y = list[3]MOD = 1000000007dp = [0]*(K+1)dp[0] = 1//取前i首歌for i in range(1,X+Y+1): //j代表长度 for j in range(K,-1,-1): p = A if i<=X else B if j>=p: dp[j] = (dp[j]%MOD+dp[j-p]%MOD)%MODprint(dp[K]%MOD)
转载地址:http://heyai.baihongyu.com/