C++で2種類のアイテムを含むサイズ3のグループの最大数
タスクは、タイプAのアイテムがN個、タイプBのアイテムがM個与えられたときに形成できるサイズ3のグループの最大数を計算することです。
また、各グループには、AまたはBのいずれかのタイプのアイテムが少なくとも1つ必要です。
例を使用して、私たちがしなければならないことを理解しましょう-
入力 − n =3、M =5
入力 − 2
説明
Group 1: 1 item of type A and 2 items of type B Group 2: 1 item of type A and 2 items of type B In total, 2 items of type A and 4 items of type B are used.
入力 − n =5、M =9
入力 − 4
以下のプログラムで使用されるアプローチは次のとおりです
-
次の状況は4つのケースに分けることができます-
-
ケース1 −
M> =2Nの場合、可能なグループの最大数=M
-
ケース2 −
N> =2Mの場合、可能なグループの最大数=N
-
ケース3 −
(M + N)%3 ==0の場合、可能なグループの最大数=(M + N)/ 3
-
ケース4 −
上記の条件のいずれにも当てはまらない場合、最大ケース数は(M + N)/ 3 +(残りのグループ)になります。
グループが残っているかどうかを確認するには、N =N%3とM =M%3を設定して両方のタイプの残りのアイテムを取得し、次の条件を使用して確認します-
If(N!=0 &&M!=0 &&(N + M)> =3)
上記の条件が当てはまる場合は、最終結果に1を追加します。
-
-
関数MaxGrp()で、上記の場合のif条件チェックを使用します
-
(M> =2 * N)が真の場合、答えとしてMを返します。それ以外の場合、(N> =2 * M)がtrueの場合、答えとしてNを返します。
-
上記の両方の条件が当てはまらない場合は、((M + N)%3 ==0)かどうかを確認してください。真の場合は、答えとして(M + N)/3を返します。
-
上記の条件のいずれにも当てはまらない場合は、int型の変数count =(M + N)/3を初期化します。
N =N%3およびM =M%3を入力し、ケース4で上記の条件を使用して、残りのグループを確認します。条件が真の場合は、1を加算してカウントし、回答を返します。
例
#include<bits/stdc++.h> using namespace std; // Implements above mentioned steps. int MaxGrp(int N, int M){ if (N >= 2 * M) return N; if (M >= 2 * N) return M; if ((M + N) % 3 == 0) return (M + N)/3; int count = (M + N)/3; M %= 3; N %= 3; if (M && N && (M + N) >= 3) count++; return count; } int main(){ int N = 5, M = 9; cout << MaxGrp(N, M); return 0; }
出力
上記のコードを実行すると、次の出力が得られます-
4
-
最大グループをカウントするC++コードを作成できます
n個の要素を持つ配列Aがあるとします。学生のnグループがありました。グループとは、他の人と一緒にコードを記述できる1人、または同じチームでコードを記述したい2人のいずれかです。しかし、メンターはちょうど3人のチームを形成することにしました。メンターが形成できる3人のチームの最大数を見つける必要があります。 2人のグループの場合、両方の生徒がコードを書くか、両方が書かないかのどちらかです。 2人のグループから2人の生徒がコードを書く場合、彼らは同じチームに所属している必要があります。 したがって、入力がA =[2、2、2、1、1、1、1]の場合、メンターは次のようなチームを作成できるため、出力
-
最大ベンド数のC++パス長
二分木が与えられる問題を解決するため。次に、曲がりの数が最大のパスを見つける必要があります。つまり、パスの方向が左から右に、またはその逆に変化する場合、たとえば、曲がりが考慮されます 入力- 出力- 6 このアプローチでは、ツリーをトラバースして、以前の動きを追跡します。方向が変わった場合は、曲げカウントを更新するだけで、最大値が見つかります。 解決策を見つけるためのアプローチ このアプローチでは、すべてのパスをトラバースし、回答を更新するベンドの最大数を見つけます。 例 #include <bits/stdc++.h> using namespace std; s