事前定義された可能性から最良のトリプル(3つの整数のセット)を選択するアルゴリズムを実装する必要があります。詳細に:ベスト・インテグリティ・セットを選択するためのデータ構造とデザイン
として定義列挙クラスは、以下がある:
enum class myEnum { a6 = 0, a10, a14, a18, a119, a123, a127, a131, a135 }
これらの部材は、トリプル {a6,a10,a14}, {a6, a14, a18}
のセットに組み合わせることができます。ここには重要ではない条件のために、わずか11の可能なトリプルがあります。 私はトリプルを選択しなければならない、トリプルの各メンバーのためにいくつかの計算を行い、追加の条件を考慮して最高のトリプルを選択してください。
これらの11個のトリプルに最適なデータ構造とデザインはどれですか?トリプル一つは、「使用中」であるので、計算から除外すべきか計算が(それは関係ありません)ごとに行われ、その結果から除外することができます:
struct a6 { int value; };
typeToChoose possibleTriples = {
{
a6, a10, a14
a6, a10, a18
a6, a14, a18
a10, a14, a18
a119, a123, a127
a119, a123, a131
a119, a127, a131
a123, a127, a131
a123, a127, a135
a123, a131, a135
a127, a131, a135
}
さんが言ってみましょうそのが使用中です。 int sumOfValues = a6.value + a10.value + a18.value;
と最低の合計とのトリプル最小選択します。今、私は、フィールド構造のvalue
ため possibleTriples
計算和を反復処理する必要があります。 {a6、a10、a14} == {a14、a10、a6}
私はあなたが望む(非効率的に)行う[mcve]コードを提供し、最適化アドバイスを求めることをお勧めします。それをより良くするために働かせてください。 – Persixty
要件の漠然としたものが与えられ、{a、b、c}と仮定すると、729要素の配列/ベクトルを作成し、テストで反復するだけです。 –
'std :: tuple'のどれですか? –
lisyarus