C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

ゲームをプレイした後に可能な最大量の許容量を見つけるためのC++プログラム


A、B、Cの3つの数字があるとします。ゲームを考えてみましょう。3つの「整数パネル」があり、それぞれに1から9までの数字が印刷されています。1つの「演算子パネル」には「+」が付いています。それに印刷されたサイン。プレーヤーは、4つのパネルを左から右に配置して、X+Yの形式の数式を作成する必要があります。そうすると、許容量は数式の結果の値に等しくなります。

可能な限りの許容量を見つける必要があります。

したがって、入力がA=1のような場合。 B =5; C =2の場合、パネルは52 + 1のように配置されているため、出力は53になります。これは、可能な最大量です。

ステップ

これを解決するには、次の手順に従います-

Define an array V with A, B and C
sort the array V
ans := (V[2] * 10) + V[1] + V[0]
return ans

理解を深めるために、次の実装を見てみましょう-

#include <bits/stdc++.h>
using namespace std;

int solve(int A, int B, int C){
   vector<int> V = { A, B, C };
   sort(V.begin(), V.end());
   int ans = (V[2] * 10) + V[1] + V[0];
   return ans;
}
int main(){
   int A = 1;
   int B = 5;
   int C = 2;
   cout << solve(A, B, C) << endl;
}

入力

1, 5, 2

出力

53

  1. グラフから減らすことができるスコアの最大量を見つけるためのC++プログラム

    n個の頂点とm個のエッジを持つ重み付きの無向グラフがあるとします。グラフのスコアは、グラフ内のすべてのエッジの重みの加算として定義されます。エッジの重みは負の値になる可能性があり、それらを削除するとグラフのスコアが増加します。グラフを接続したまま、グラフからエッジを削除して、グラフのスコアを最小にする必要があります。減らすことができるスコアの最大量を見つける必要があります。 グラフは配列edgesで与えられ、各要素は{weight、{vertex1、vertex2}}の形式です。 したがって、入力がn =5、m =6、edges ={{2、{1、2}}、{2、{1、3}}、{1、{2、3}

  2. グラフの最大カットを見つけるためのC++プログラム

    このプログラムでは、グラフの最大カットを見つけるために、グラフのエッジ連結性を見つける必要があります。グラフのグラフのエッジ接続は、それがブリッジであることを意味し、グラフを削除すると切断されます。接続されたコンポーネントの数は、切断された無向グラフのブリッジを削除すると増加します。 関数と擬似コード Begin    Function connections() is a recursive function to find out the connections:    A) Mark the current node un visited. &nb