プロパティが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行目に収まります:
(1)-レコード番号1およびレコード番号3
1 1 1
+ 2 3 3
-------
3 4 4
(2)-レコード番号4
3 4 5
レコードの最初のセットが最も安い(4 <5)ので、それを選択しました。そのようなレコードのセットが存在するかどうかを確認する必要があるだけでなく、合計したレコードも検索する必要があります。
しかし今のところ、私は3D配列がどのように見えるかを理解する必要があるだけです。あなたの何人かはそれを手伝ってくれて、私の画像のように、レイヤーごとに、これはどのように見えるでしょうか?ありがとう。