私たちが行った総売上高を調べるためのC++コード
4つのアイテムを販売していて、i番目のアイテムの価格が配列'cost[i]'で指定されているとします。現在、文字列「items」で指定された順序でアイテムを販売しています。私たちは、私たちが行った総売上高を知る必要があります。文字列「items」には1〜4の整数が含まれ、重複が存在する可能性があり、任意の順序にすることができます。
したがって、入力がcost ={10、15、10、5}、items ="14214331"の場合、出力は75になります。
ステップ
これを解決するには、次の手順に従います-
total := 0 for initialize i := 0, when i < size of items, update (increase i by 1), do: total := total + cost[items[i] - '0' - 1] return total
例
理解を深めるために、次の実装を見てみましょう
#include <bits/stdc++.h> using namespace std; #define N 100 int solve(int cost[], string items) { int total = 0; for(int i = 0; i < items.size(); i++) total += cost[items[i] -'0' - 1]; return total; } int main() { int cost[] = {10, 15, 10, 5}; string items = "14214331"; cout<< solve(cost, items); return 0; }
入力
{10, 15, 10, 5}, "14214331"
出力
75
-
C++で最小の構文解析ツリーを見つけるためのプログラム
文字列内のブレークポイントを表す一意のソートされた番号のリストがあるとします。これらのルールからツリーを作成したい- 値(a、b)を持つノードがあり、aとbはブレークポイントです。これは、ノードが文字列内のインデックス[a、b]にまたがることを意味します。 ルートノードはすべてのブレークポイントにまたがっています。 (文字列全体)。 ノードの左右の子のスパンは順序付けられ、連続しており、親ノードのスパンが含まれています。 ブレークポイントの「a」のリーフノードのインデックスは、ブレークポイントの「b」のインデックスの前に1です。 ツリーのコストは、ツリー内のすべて
-
C++で合計金額を支払うために必要なコインの最小数を調べます
数Nがあり、1、10、および25通貨のコインに相当する無制限の数のコインがあるとします。正確な金額Nを支払うために使用する必要のあるコインの最小数を見つけます。Nが14であるとすると、コインの数は5になり、10の価値のあるコインが1つ、1の価値のあるコインが4つになります。 これを解決するには、次の手順を使用する必要があります- N <10の場合、N個の1バリューコインを返します 9およびN<25の場合、値を10で除算して結果を取得します。残りは、1つの値のコインでカバーされ、カウントを加算して結果を取得します。 25の場合は、25で除算し、結果を取得します。結果が25未満の場合は、2