1つのプロパティがある場合、そこに何が起こっているのか分かります。 1つ以上のプロパティがある場合、ナップザックの問題を理解することに問題があります。追加プロパティ付きナップザックアルゴリズム
私は2つのプロパティを持つナップサックアルゴリズムを使用するプログラムを記述する必要があります。教師は私たちに言った、それは3dアレイで行われなければなりません。私はそのような配列がどのように見えるか想像できません。
のは、ここで言ってみましょうが、私の入力です:
4 3 4 // number of records below, 1st property of backpack, 2nd property of backpack
1 1 1 // 1st property, 2nd property, cost
1 2 2 // 1st property, 2nd property, cost
2 3 3 // 1st property, 2nd property, cost
3 4 5 // 1st property, 2nd property, cost
と出力は、次のようになります。
4 // the cheapest sum of costs of 2 records
1 3 // numbers of these 2 records
出力の説明:レコードの 2セットは入力の第1 'ラインにさんに合います:
(2) - レコードの数4
3 4 5
レコードの第一セットは(4 < 5)安いですので、我々はそれを選びました。そのようなレコードが存在するかどうかを調べるだけでなく、私が合計したレコードも見つけなければなりません。
しかし、今のところ、私は理解する必要があります、どのように3次元アレイのようになります。あなたの何人かが私の手助けをして、レイヤーごとに、私のイメージのように、どのように見えますか?おかげさまで
私は最初の配列を理解していません。配列内の値の意味は何ですか?例えば、 – gmlobdell
。 V = 2、V = 1のアイテムのバックパックでは、最大でV = 1アイテムの2倍を置くことができます。 V = 3、アイテムV = 1、V = 1のバックパックでは、これらのアイテムの両方を最大限に置くことができるので、そのセルの内部でv = 2になります。 v = 3とアイテム1,1,2を持つバックパックでは、最大で2アイテム(v = 1、v = 2)を入れることができます。セル内の値はバッグの最大パッケージです – Paulina
教師は[複数の制約のナップザックの問題]を探します(http://en.wikipedia.org/wiki/List_of_knapsack_problems#Multiple_constraints) –