2016-12-03 8 views
-1

動的プログラミングの考え方を使用して、値(v)にマップする3つの数値(x、y、z)を保存します。3数値を値にマップする方法(動的プログラミング)

x、y、zのすべての新しい値について、その値が既に存在するかどうかをチェックしたいと思います。 (再計算を避けるため)

x、y、zの順番は重要ではありません。それは1,1,2と2,1,1などは同じ値にマップする必要があります。

X、Y、Zは、ループに使用して計算される(X + Y + Zとして2つのネストされたループ= N(所与))

はどのようにこれを達成する必要がありますか?カスタムデータ構造が必要でしょうか?

おかげでそれらの相対的な順序は重要ではなく、その文字列を生成する#などの特殊文字とそれらを結合するため、これらの三つの値最初のC++

+0

'struct value {int x、y、z;};'で3つのメンバーを持つ値を作成できます。これらのものがいくつかある場合、それらを格納するために 'std :: vector 'が使われるかもしれません。 –

+0

質問はなぜ控除されたのですか? – borb183

+0

@ user7777777値x、y、zを計算するループを作成しました。後でこれらを保存してアクセスすることは私が理解できなかったものです – borb183

答えて

0

ソートでコーディング

たとえば、1,1,2および2,1,1が最初に同じシーケンス1,1,2としてソートされ、それらを連結すると、1#1#2 - 鍵がストリングになりますお客様の要件を満たすためにユニーク。

他のものが見落とされている場合は、おそらくより詳細な要件を提示する必要があります。

+0

いいえ、それはまさに私がしたいことです。この文字列を値にマッピングすることをお勧めしますか?良いアイデアです。試して更新します – borb183

関連する問題