多重背包问题 I-golang
blablabla
多重背包问题 I-golang
package main
import "fmt"
var n, v int
var vi, wi, si int
var value []int //某提价下的最大价值
func main(){
fmt.Scanf("%d%d", &n, &v)
value = make([]int, v+1)
for i := 1; i <= n; i++{
fmt.Scanf("%d%d%d", &vi, &wi, &si)
for j := v; j >= 0; j--{
for k := 0; k <= si && k*vi <= j; k++{
value[j] = max(value[j], value[j-vi*k]+k*wi)
}
}
}
fmt.Println(value[v])
}
func max(a, b int)int{
if a>b{
return a
}
return b
}