object BeiBao extends App{
val num = 5
val volumn = 100
val thing = Array((92,77),(22,22),(87,29),(46,50),(90,99)) //(价值,重量)
// val volumn = 10
// val thing = Array((6,2),(3,2),(5,6),(4,5),(6,4)) //(价值,重量)
val table = new Array[Int](volumn+1)
def find(){
for(i <- 0.until(num);j <- thing(i)._2.until(volumn+1).reverse){
if(table(j-thing(i)._2)+thing(i)._1 > table(j))
table(j) = table(j-thing(i)._2)+thing(i)._1
}
}
find()
// println(table.mkString(","))
println(table(volumn))
}
相关资料:
背包问题
scala 动态规划解决0-1背包问题
最新推荐文章于 2022-05-22 21:35:36 发布