博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
小Q的歌单
阅读量:4169 次
发布时间:2019-05-26

本文共 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/

你可能感兴趣的文章
<<Oracle Applications DBA 基础(第二期)>>Week 01 exercise
查看>>
<<Oracle Applications DBA 基础(第二期)>>Week 02 exercise
查看>>
<<Oracle Applications DBA 基础(第二期)>>Week 03 exercise
查看>>
<<Oracle Applications DBA 基础(第二期)>>Week 04 exercise
查看>>
<<Oracle Applications DBA 基础(第二期)>>Week 05 exercise
查看>>
<<Oracle Applications DBA 基础(第二期)>>Week 06 exercise
查看>>
<<Oracle Applications DBA 基础(第二期)>>Week 07 exercise
查看>>
<<Oracle Applications DBA 基础(第二期)>>Week 08 exercise
查看>>
<<Oracle Applications DBA 基础(第二期)>>Week 09 exercise
查看>>
<<Oracle Applications DBA 基础(第二期)>>Week 10 exercise
查看>>
<<Oracle Applications DBA 基础(第二期)>>Week 11 exercise
查看>>
<<Oracle Applications DBA 基础(第二期)>>Week 12 exercise
查看>>
<<Oracle Applications DBA 基础(第二期)>>Week 13 exercise
查看>>
<<Oracle Applications DBA 基础(第二期)>>Week 14 exercise
查看>>
<<Oracle Applications DBA 基础(第二期)>>Week 15 exercise
查看>>
更改Oracle JDeveloper的显示语言为英语
查看>>
vbs之CurrentDirectory
查看>>
跳过17:30,跳过瑞星定时扫描
查看>>
自动订饭
查看>>
Dos下命令运行带有包名的Java类
查看>>