01背包问题 (python版)
2013-10-04 23:54
525 查看
首先是问题描述:给定n种物品和一背包,物品i的重量是wi,其价值是pi,背包的容量是M,问如何选择装入背包中的物品总价值最大?
不用刚好装满
不用刚好装满
#!/usr/bin/python m = int(raw_input("get m as the max bag size:")) n = int(raw_input("get n as the goods tots:")) print("bag max store: %d, goods tots: %d" % (m, n)) table = [ [0 for col in range(m+1)] for row in range(n+1)] p = [0] w = [0] for i in range(1, n+1): weigth = int(raw_input("get weigth:")) value = int(raw_input("get val:")) w.append(weigth) p.append(value) print p print w #print table for row in range(1, n+1): for col in range(1, m+1): if(w[row] <= col and table[row - 1][col - w[row]] + p[row] > table[row - 1][col]): table[row][col] = table[row - 1][col - w[row]] + p[row] else: table[row][col] = table[row - 1][col] print "max value can store:" + str(table [m])
相关文章推荐
- python读书笔记
- Python Challenge(6--7关)——我的解题报告(running with python3.x)
- python中的全局变量
- python 多维数组构建问题
- python开发_thread_线程基础
- python 探索(三) Python CookBook 文本处理 笔记
- python中os模块的walk函数
- Python 入门教程 15 ---- Advanced Topics in Python
- python实战教程1 定时提醒程序的制作(3)
- build python on windows
- python实战教程1 定时提醒程序的制作(2)
- python print 错误 ( invalid syntax)
- Python——目录操作
- Python的编译后文件介绍
- Python的编译后文件介绍
- python实战教程1 定时提醒程序的制作(1)
- 【Python】最常用的五个Python 模块
- python安装
- 【ZZ】python with...as...用法
- Python Challenge(4--5关)——我的解题报告(running with python3.x)