到目前为止,我正在尝试在 haskell 中解决分数背包问题
代码:
{- Input "how much can the knapsack hole <- x" "Possible items in sack [(label, value, weight), ...]" -}
knap x [] = []
knap x y = if length y == 1 then
输入列表的形式为 [([Char], Integer, Integer), ... ] 列表列表(字符列表、整数和整数)。
我的问题是试图找出可能放入背包的每件物品的标签、价值和重量。(从列表列表中提取值)
在我的前奏>提示中,我正在做一些尝试
ghci 输出:
Prelude> let x = [("label 1", 2, 14), ("label 2", 1, 15)]
Prelude> :t x
x :: [([Char], Integer, Integer)]
Prelude> length x
2
Prelude> x !! 0
("label 1",2,14)
Prelude> x !! 0 !! 1
<interactive>:1:1:
Couldn't match expected type `[a0]'
with actual type `([Char], Integer, Integer)'
Expected type: [[a0]]
Actual type: [([Char], Integer, Integer)]
In the first argument of `(!!)', namely `x'
In the first argument of `(!!)', namely `x !! 0'
如您所见,我正在尝试做清单!指数 !!尝试从“项目”中拉出重量的索引。执行此操作的正确语法是什么?