私の運動を解決することに問題があります。私はダイナミックなプログラミングとアルゴリズムについて読んで、私の運動は「特定のナップザックの問題」だと思います。 brute forceメソッドで解決しましたが、動的プログラミングでは解決できません。どうすれば解決できますか? KnapSack - 値はすべて同じですが、お互いのオブジェクトに3つの重みがあります
私は重量300トンの船(ナップザック)を持っています。 3つの物質(X、Y、Z)を持つ結晶があります - それぞれの物質は重量を持ち、すべての結晶は同じ値を持っています。私はできるだけ多くの結晶を梱包する必要がありますが、パックされたすべての結晶の物質の比率は1:1:1でなければなりません。しかし、例えば、私は3つの結晶が1:1:1の比率で最も多くのトンを与え、8つの結晶が同じ数のトンを与える場合(2つの他の結晶の組合せが最も多くのトンを与える)、私は最低数の結晶との組み合わせ。
私はブルートフォース法で解決しました - 私はすべての組み合わせの配列のリストを作成しました。次に、私は1:1:1の割合でこれらの組み合わせを見つけました。次に、最も多くのトンを与え、同じ数の同じトン数の2つ以上の組み合わせがある場合、最も少ない数の結晶を有する組み合わせを見いだした。私はテストをチェックし、良いスコアを返しました ダイナミックプログラミングでどのように解決できますか?/私を助ける人はいますか?
例についてI 10の結晶を有する:
1) X =2 Y =3 Z =4
2) X =5 Y=10 Z =2
3) X =3 Y =3 Z =3
4) X =1 Y =0 Z =6
5) X =9 Y=12 Z =4
6) X =1 Y =1 Z =1
7) X =2 Y =1 Z=0
8) X =1 Y =2 Z =3
9) X =1 Y =1 Z =1
10) X =4 Y =3 Z =3
溶液である:最大27トン5つの結晶と(番号:1、3、6、7及び9)
、あなたのコードを投稿してください、あなたが直面してまさにあなたが直面している問題があるされているエラー。より一般的なガイドラインについては、[私の解答](http://stackoverflow.com/a/40387517/2679529)をご覧ください。 –
[特定のナップザックアルゴリズム]の可能な複製(http://stackoverflow.com/questions/40475287/specific-knapsack-algorithm) –