-
iの最大値を見つけるためのC++プログラム
整数「seq」の順列と、0からn-1までの整数を含むサイズmの整数ペア「ペア」の配列があるとします。ここで、seqに対して次の操作を可能な限り何度も実行してseq[ i] =i(0≤i
-
特定の都市からの往復が可能かどうかを調べるC++プログラム
n個の都市があり、m個の道路がそれらを接続しているとします。各道路は一方向であり、出発地の都市から目的地の都市に到達するのに特定の時間がかかります。道路の情報は、各要素が(ソース、宛先、時間)の形式である配列道路で提供されます。今、人はある都市から別の都市に旅行していて、その旅行は往復でなければなりません。人が特定の都市から出発し、1つまたは複数の道路を通過し、同じ都市で旅行を終了する場合、旅行は往復と呼ばれます。したがって、各都市について、その特定の都市からの往復が可能かどうかを判断する必要があります。可能であれば、往復の実行に必要な時間を印刷するか、-1を印刷します。 したがって、入力が
-
最大定格部品セットを見つけるためのC++プログラム
特定の製品の特定の部品を製造しているメーカーがあるとします。メーカーにはn種類のパーツのバリエーションがあり、パーツには3つの基準で特定の評価があります。 n個の製品の評価は、配列「評価」で示されます。各要素は(A、B、C)の形式であり、A、B、およびCは製品の異なる評価基準です。現在、OEMは、部品の製造元から製品ごとにm個の部品を購入したいと考えています。 OEMは、以下の条件を満たす部品を選択します- 同じ部品を2つ以上購入しないでください。 値Vが最大になるようにパーツのセットを選択します。ここで、V=|基準Aの合計評価| +|基準Bの総合評価| +|基準Cの総合評価|。
-
生成された文字列Tの可能な限り最小のアンランスを見つけるためのC++プログラム
可能な文字が「0」、「1」、または「?」の文字列Sがあるとします。 ?の各出現を置き換えることによって文字列Tを作成したいと思います。 Tの不均衡は次のようになります。0<=l<=r
-
与えられた制約で行列の最後の値を見つけるC++プログラム
N個の要素を含む数Aのリストがあるとします。要素は1、2、または3です。数X [1] [j] =A [j]を考えます。ここで、jは1からNの範囲です。X[i] [j] =| X [i-1] [ j]-X [i-1] [j + 1] |ここで、iは2からNの範囲にあり、jは1からN+1-iの範囲にあります。 X[i][j]の値を見つける必要があります。 したがって、入力がA =[1,2,3,1]の場合、出力は1になります。 X[1][1] to X[1][4] are 1, 2, 3, 1 X[2][1], X[2][2], X[2][3] are |1-2| = 1, |2 - 3| = 1
-
ボックスを選択してすべての石を削除できることを確認するC++プログラム
N個の要素を持つ配列Aがあるとします。 N個のボックスがあり、それらが円形に配置されているとします。 i番目のボックスにはA[i]の石が含まれています。次の操作を繰り返し実行して、ボックスからすべての石を取り除くことができるかどうかを確認する必要があります。ボックスを選択します。 1からNの範囲のjごとに、(i + j)番目のボックスから正確にj個の石を削除します。ここで、(N + k)番目のボックスはk番目のボックスと呼ばれます。ボックスに十分な数の石が含まれていない場合、この操作は実行できません。 したがって、入力がA =[4、5、1、2、3]の場合、2番目のボックスから開始することです
-
与えられたお金で製品を購入できるかどうかを確認するC++プログラム
番号Nがあるとします。ケーキの売り手は、40ルピーのケーキと、それぞれ70ルピーのドーナツを販売しています。正確にNルピーで購入できるかどうかを確認する必要があります。 したがって、入力がN =110のような場合、40 + 70 =110であるため、出力はTrueになります。 これを解決するには、次の手順に従います- o := false Define a function dfs(), this will take i, if i > n, then: return false if i is same as n, then: r
-
猫の言葉が正しいかどうかを色付きの帽子でチェックするC++プログラム
N個の要素を持つ配列Aがあるとします。 N匹の猫がいて、1からNまでの番号が付けられているとします。各猫は帽子をかぶっていて、i番目の猫は「私以外の猫が所有するN-1個の帽子には正確にA[i]個の異なる色があります」と言います。猫の発言と一致する帽子の色のシーケンスが存在するかどうかを確認する必要があります。 したがって、入力がA =[1、2、2]の場合、出力はTrueになります。これは、猫1、2、3がそれぞれ赤、青、青の帽子をかぶっている場合、次のようになります。猫の発言。 これを解決するには、次の手順に従います- mn:=inf、mx =0、cnt =0n:=Aのサイズ初期化i:=1
-
OTTサービスに加入するために必要な最小金額を見つけるためのC++プログラム
ある通信事業者が「オールインワン」と呼ばれるサービスを導入したとします。このサービスは、kドルの固定価格でn個のOTTコンテンツプロバイダーへのアクセスを提供します。現在、OTTプラットフォームに直接加入する必要がある場合は、各プラットフォームに個別の料金を支払う必要があります。すべての月にすべてのプラットフォームのサブスクリプションを必要としないため、費用対効果の高い方法でそれらのサービスを使用する方法を見つける必要があります。プラットフォームiのサービスが必要な開始月は配列start_monthで指定され、終了月は配列end_monthで指定されます。プラットフォームにサブスクライブするた
-
グリッド内の一方の端からもう一方の端に到達するために必要な変更の数を見つけるためのC++プログラム
ブロックされたセルとブロックされていないセルの2種類のセルを含む次元x*yのグリッドが与えられたとします。ブロックされたセルはセルにアクセスできないことを意味し、ブロックされていないことはセルにアクセスできることを意味します。ブロックされたセルは「#」で示され、ブロックされていないセルは「。」で示される2D配列でグリッドを表します。ここで、セル(0、0)からセル(x、y)に到達する必要があります。実行できる移動は2つだけで、セルの右に移動するか、セルから下に移動することができます。ブロックされていないセルにしか入ることができず、(0、0)と(x、y)は両方ともブロックされていないセルであること
-
敵を倒すために必要な操作の最小数を見つけるためのC++プログラム
主人公がナイフを使って敵を倒すビデオゲームをプレイしているとします。主人公はナイフを使って敵を斬ったり、敵に向かって投げたりすることができます。主人公がナイフを投げた場合、それを再び取得することはできません。ナイフiによって与えられるダメージは、各要素が{slash、throw}の形式である配列knivesで与えられます。 「スラッシュ」とは、そのナイフで敵を斬ることによって敵に与えられるダメージを意味し、「投げる」とは、その特定のナイフを投げることによって敵に与えられるダメージを意味します。斬撃は無制限に行うことができますが、ナイフは一度しか投げることができません。さて、体力hの敵が現れます
-
グリッド内のブロックされていないセルから別のブロックされていないセルに到達するための移動の最大数を見つけるためのC++プログラム
ブロックされたセルとブロックされていないセルの2種類のセルを含む次元h*wのグリッドが与えられたとします。ブロックされたセルはセルにアクセスできないことを意味し、ブロックされていないことはセルにアクセスできることを意味します。ブロックされたセルは「#」で示され、ブロックされていないセルは「。」で示される2D配列でグリッドを表します。ここで、ブロックされていないセルからグリッド内の別のブロックされていないセルに到達する必要があります。実行できる移動は2つだけで、垂直に移動することも、水平に移動することもできます。斜めに移動することはできません。ブロックされていないセルにしか移動できないことを覚え
-
2D平面内の別のポイントからポイントを読み取るための動きを見つけるためのC++プログラム
y1です。 したがって、入力がx1 =0、y1 =1、x2 =3、y2 =4の場合、出力はUUURRRDDDLLLLUUUURRRRDRDDDDLLLLUになります。 これを解決するには、次の手順に従います- s := a blank string for initialize i := 0, when i < y2 - y1, update (increase i by 1), do: add "U" at the end of s for initialize i := 0, when i < x2 - x1, update (increase i
-
シーケンスに対して特定の操作を実行するC++
空のシーケンスと、処理する必要のあるn個のクエリが与えられたとします。クエリは配列クエリで指定され、{query、data}の形式になっています。クエリには、次の3つのタイプがあります- query =1:提供されたデータをシーケンスの最後に追加します。 query =2:シーケンスの先頭にある要素を出力します。その後、要素を削除します。 query =3:シーケンスを昇順で並べ替えます。 クエリタイプ2と3は常にデータ=0であることに注意してください。 したがって、入力がn =9の場合、クエリ={{1、5}、{1、4}、{1、3}、{1、2}、{1、1}、{2、0}
-
パスを作成するためにグリッドでブロックするセルの数を見つけるためのC++プログラム
次元h*wのグリッドがあるとします。セル位置(0、0)にロボットがあり、その位置(h-1、w-1)に移動する必要があります。グリッドには、ブロックされたセルとブロックされていないセルの2種類のセルがあります。ロボットはブロックされていないセルを通過できますが、ブロックされたセルを通過することはできません。ロボットは4つの方向に進むことができます。左、右、上、下に移動できます。ただし、ロボットはセルから別のセルに任意の方向に移動する可能性があるため(前のセルを無視して)、1つのパスのみを作成し、そのパスにない他のすべてのセルをブロックする必要があります。 (0、0)から(h -1、w -1)まで
-
グラフから減らすことができるスコアの最大量を見つけるためのC++プログラム
n個の頂点とm個のエッジを持つ重み付きの無向グラフがあるとします。グラフのスコアは、グラフ内のすべてのエッジの重みの加算として定義されます。エッジの重みは負の値になる可能性があり、それらを削除するとグラフのスコアが増加します。グラフを接続したまま、グラフからエッジを削除して、グラフのスコアを最小にする必要があります。減らすことができるスコアの最大量を見つける必要があります。 グラフは配列edgesで与えられ、各要素は{weight、{vertex1、vertex2}}の形式です。 したがって、入力がn =5、m =6、edges ={{2、{1、2}}、{2、{1、3}}、{1、{2、3}
-
回転と平行移動後に2つの画像が一致するかどうかを確認するC++プログラム
最初と2番目に2つのn*nピクセルの正方形の画像があるとします。ピクセルは黒または白のいずれかです。画像はマトリックス表現で提供され、ピクセルが黒の場合は「x」として表され、白の場合は「。」として表されます。 90°の回転と平行移動の後、2番目の画像が最初の画像と一致することを確認する必要があります。そうである場合はtrueを返し、そうでない場合はfalseを返します。 したがって、入力がn =4の場合、first ={..x。、 x.x。、 x.xx、 xx ..}、second ={.. xx、x。 xx 、 .x.x 、..x。}の場合、出力はFalseになります。 これを解決するた
-
車を売ることで稼ぐことができる最大の金額を見つけるためのC++プログラム
赤と青の車の販売需要があるとします。自動車会社は、異なる価格のp個の赤い車とq個の青い車を販売することにしました。現在、同社は「a」の数の赤い車、「b」の数の青い車、および「c」の数の無色の車(車はまだ塗装されていません)を在庫しています。さまざまな車の値は配列A、B、Cで示されます。したがって、会社は1日にp + qの車を販売し、それらから最大の利益を得る必要があります。無色の車は、赤または青の任意の色で塗装できます。車を売ることで得られる最大の利益を見つけます。 したがって、入力がp =3、q =3、a =3、b =3、c =2、A ={150000、200000、200000}、B =
-
文字の2つのスタックを空にできるかどうかをチェックするC++プログラム
2n個の文字があり、それぞれに1からnまでの整数が書かれているとします。同じ数字が書かれた文字がちょうど2つあります。これらの文字はm個のスタックに配置され、スタックiには文字stack[i]があります。私たちのタスクは、次の方法ですべてのスタックを空にすることです 2つのスタックを選択し、両方から一番上の文字を削除する必要があります。 削除した文字は、両方に同じ番号が付いている必要があります。 この方法でmスタックを空にできる場合は、trueを出力します。そうでない場合は、falseを返します。 したがって、入力がn =3、m =2、スタック={{2、1、3}、{2、1、
-
与えられた数が互いに素であるかどうかをチェックするC++プログラム
配列numsにn個の整数があるとします。配列内の数値が互いに素であるか、互いに素であるか、互いに素でないかを確認する必要があります。 gcd(nums [i]、nums [j])=1の場合、2つの数nums[i]とnums[j]は互いに素であると言われます。これは、配列内のすべての数のペアに当てはまり、i