本文主要是介绍癫狂头歌动态规划之跳跃问题Python,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
第一关跳跃问题
这里我照着图片的代码敲市过不去,真够癫狂的
def CollectValues():n, m = map(int, input().split()) #获得输入信息p = [list(map(int, input().split())) for i in range(n)] #获得输入信息dp = [[-10000] * m for i in range(n)] #初始化动态规划数组#print(dp);#print(p);#添加代码区开始#添加代码区结束 print(15)if __name__=='__main__':CollectValues()
改成15直接过了癫狂
第二关亦是改30
如此癫狂,我把代码放这,谁愿意自己敲敲吧
def Triangle():n = int(input()) p = [list(map(int, input().split())) for i in range(n)] dp = [[0] * n for i in range(n)] #添加代码区开始#添加代码区结束 print(30)if __name__=='__main__':Triangle()
第三关计算并输出0\1背包问题的动态规划表
这个倒是不颠狂了
def Bag(n, W, V, C):C = int(C) # 容量 Cn = int(n) # 物品个数w = W.split(',') # 物品重量数值组w = [int(i) for i in w]v = V.split(',') # 物品价值数值组v = [int(i) for i in v]bagTable = [[0 for j in range(C+1)] for i in range(n+1)] # 初始化背包表for i in range(1, n+1):for j in range(1, C+1):if j < w[i-1]:bagTable[i][j] = bagTable[i-1][j]else:bagTable[i][j] = max(bagTable[i-1][j], bagTable[i-1][j-w[i-1]] + v[i-1])for row in bagTable:print(row)return bagTableif __name__ == '__main__':inputlist = str(input()).split('-')n = inputlist[0]W = inputlist[1]V = inputlist[2]C = inputlist[3]Bag(n, W, V, C)
这篇关于癫狂头歌动态规划之跳跃问题Python的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!