-
合計がnと同じ範囲を見つけるC++プログラム
数nがあるとします。 l
-
サイズdで作成できる十二角形の数をカウントするC++プログラム
数dがあるとします。正方形のタイルと辺の長さが1の通常の三角形のタイルが無数にあると考えてください。これらのタイルを使用して、側面dの通常の十二角形(12辺の多角形)を形成できる方法をいくつ見つける必要があります。答えが大きすぎる場合は、結果mod998244353を返します。 ステップ これを解決するために、次の手順に従います- b := floor of d/2 - 1 c := 1 for initialize i := 2, when i < d, update (increase i by 1), do: b := b * (floor of
-
すべてのノードの削除に必要な操作の予想数をカウントするC++プログラム
有向グラフGの隣接行列があるとします。グラフが空になるまで、次の操作を繰り返します。Gから1つの頂点を選択し、その頂点と、その頂点から到達可能なすべての頂点を、いくつかのエッジをたどって消去します。頂点を消去すると、それに付随するエッジも消去されます。操作が行われると予想される回数を見つける必要があります したがって、入力が次のような場合 最初に頂点Aを選択し、すべての頂点を削除します。頂点Bを選択し、BとCを削除し、2番目の操作でAを選択して削除します。同様に、Cを選択すると、2つの操作が必要になります。したがって、平均は(1 + 2 + 2)/ 3=1.6667です。 ステップ
-
四辺形の4番目の辺を見つけるC++プログラム
a、b、cの3つの数字があるとします。任意の非縮退の単純な四辺形の形で閉じた柵を作りたい。すでに長さa、b、cの3つの辺があります。別の側面を見つける必要がありますd。 したがって、入力がa=12のような場合。 b =34; c =56の場合、出力は42になり、他の回答も可能です。 ステップ これを解決するには、次の手順に従います- return a + b + c - 2 例 理解を深めるために、次の実装を見てみましょう- #include<bits/stdc++.h> using namespace std; int solve(int a, int b, int c)
-
n個の有効なブラケットシーケンスを見つけるC++プログラム
数nがあるとします。ご存知のように、角かっこシーケンスは文字「(」と「)」のみを含む文字列です。有効なブラケットシーケンスは、シーケンスの元の文字の間に文字「1」と「+」を挿入することにより、正しい算術式に変換できるブラケットシーケンスです。したがって、角かっこシーケンスが「()()」のような場合、「(1)+(1)」のように1を入れることができるため、これは有効です。番号nから、長さ2nの有効なブラケットシーケンスを正確にn個見つける必要があります。 したがって、入力がn =4の場合、出力は[()()()()、 (())()()、 ((()))()、 (((())))] ステップ これを
-
サブ配列を否定した後に取得できる個別の値の数を見つけるためのC++プログラム
n個の要素を持つ配列Aがあるとします。与えられた数のサブセットを選択し、これらの数を否定します。取得できる配列内のさまざまな値の最大数を見つける必要があります。 したがって、入力がA =[1、1、2、2]の場合、出力は4になります。これは、最初と最後の数値を否定して、配列[-1、1、2、-2]を作成できるためです。 4つの異なる値。 ステップ これを解決するには、次の手順に従います- Define one set se n := size of A for initialize i := 0, when i < n, update (increase i by 1), do: &nb
-
重複する要素の左側のオカレンスを削除した後に配列を検索するC++プログラム
n個の要素を持つ配列Aがあるとします。重複する要素を削除したいと思います。配列の各要素の右端のエントリのみを残します。残りの一意の要素の相対的な順序は変更しないでください。 したがって、入力がA =[1、5、5、1、6、1]の場合、出力は[5、6、1]になります。 ステップ これを解決するには、次の手順に従います- Define two arrays b and vis of size: 1200 each x := 0 n := size of A for initialize i := n - 1, when i >= 0, update (decrease i by 1), d
-
1%の利息でXルピーを取得するのに必要な年数を計算するC++プログラム
番号Xがあるとします。銀行には100ルピーがあります。銀行は、毎年複利で1%の年利を返します。 (整数のみ)。 Xルピーを取得するのに何年かかるかを確認する必要がありますか? したがって、入力がX =520のような場合、出力は213になります。 ステップ これを解決するには、次の手順に従います- sum := 0 balance := 100 while balance < n, do: interest := balance / 100 sum := sum + 1 balance := balance
-
ゲームをプレイした後に可能な最大量の許容量を見つけるためのC++プログラム
A、B、Cの3つの数字があるとします。ゲームを考えてみましょう。3つの「整数パネル」があり、それぞれに1から9までの数字が印刷されています。1つの「演算子パネル」には「+」が付いています。それに印刷されたサイン。プレーヤーは、4つのパネルを左から右に配置して、X+Yの形式の数式を作成する必要があります。そうすると、許容量は数式の結果の値に等しくなります。 可能な限りの許容量を見つける必要があります。 したがって、入力がA=1のような場合。 B =5; C =2の場合、パネルは52 + 1のように配置されているため、出力は53になります。これは、可能な最大量です。 ステップ これを解決する
-
コインを払ってnに到達するために必要な操作の数を数えるC++プログラム
N、A、B、C、Dの5つの数字があるとします。0から始まりNで終わります。次の操作で、特定の数のコインで数字を変更できます- 数値に2を掛けて、Aコインを支払います 数値に3を掛けて、Bコインを支払います 数値に5を掛けて、Cコインを支払います 数を1増やしたり減らしたりして、Dコインを支払います。 これらの操作は、任意の回数、任意の順序で実行できます。 Nに到達するために必要なコインの最小数を見つける必要があります したがって、入力がN=11のような場合。 A =1; B =2; C =2; D =8の場合、最初はxが0であるため、出力は19になります。 8枚のコインでxを1増やし
-
xスワップ後の2人のライバル学生間の最大距離を見つけるC++プログラム
n、x、a、bの4つの数があるとします。並んでいる生徒はn人です。その中には2人のライバルの学生がいます。それらの1つは位置aにあり、もう1つは位置bにあります。位置は、左から右に1からnまで番号が付けられます。この2人の生徒の距離を最大限に広げたいと考えています。次の操作をx回実行できます。隣接する2人の生徒を選択し、それらを交換します。 xスワップ後、可能な最大距離を見つける必要があります。 したがって、入力がn=5のような場合。 x =1; a =3; b =2の場合、出力は2になります。これは、位置3と4で生徒を入れ替えることができるため、これら2人の生徒間の距離は|4-2|です。
-
それを爆発させることなく体重計で金をロードする順序を見つけるためのC++プログラム
n個の異なる要素を持つ配列Aと、別の数xがあるとします。金はn個あります。 i番目の金の重さはA[i]です。このn個を一度に1個ずつ体重計に載せます。しかし、スケールには異常な欠陥があります。スケールの総重量が正確にxの場合、爆発します。プロセス中にスケールを爆発させることなく、n個すべての金貨をある順序でスケールに配置できるかどうかを確認する必要があります。可能であれば、その順序を見つけてください。不可能な場合は、「不可能」とマークしてください。 したがって、入力がA =[1、2、3、4、8]のような場合; x =6の場合、出力は[8、1、2、3、4]になり、他の注文も有効になります ステ
-
特定の操作で各都市から訪問できる都市の数をカウントするC++プログラム
(xi、yi)の形式でN個の座標点Pのリストがあるとします。 x値とy値は、最初のN個の自然数の順列です。 1からNの範囲のkごとに。都市kにいます。操作は何度でも任意に適用できます。操作:現在の都市よりもx座標が小さく、y座標が小さい、またはx座標が大きい、またはy座標が大きい別の都市に移動します。都市kから到達できる都市の数を見つける必要があります。 。 したがって、入力がP =[[1、4]、[2、3]、[3、1]、[4、2]]の場合、出力は[1、1、2、2] ステップ これを解決するには、次の手順に従います- n := size of P Define one 2D array ls
-
文字列を逆の順序で連結するC++プログラム
2つの文字列SとTがあるとします。どちらも小文字です。 TとSをこの順序で連結して、最終的な文字列を生成します。 したがって、入力がS=rammingのような場合。 T =progの場合、出力はプログラミングになります ステップ これを解決するには、次の手順に従います- res := T concatenate S return res 例 理解を深めるために、次の実装を見てみましょう- #include <bits/stdc++.h> using namespace std; string solve(string S, string T){ s
-
xorゲームの結果を0かどうかをチェックするC++プログラム
N個の要素と別のバイナリ文字列Sを持つ配列Aがあるとします。2人のプレーヤーがゲームをプレイしていると考えてください。それらは0と1として番号が付けられます。初期値が0である1つの変数xがあります。ゲームにはNラウンドがあります。 i番目のラウンドの人S[i]は、次のいずれかを実行します。xをx XOR A [i]に置き換えます。それ以外の場合は、何もしません。人物0は、このゲームの終了時に0を望んでいますが、人物1はゼロ以外を望んでいます。最後にxが0になるかどうかを確認する必要があります。 したがって、入力がA =[1、2]のような場合。 S =10の場合、person1はxを0 XOR
-
偵察ユニットを形成できる兵士のインデックスを見つけるためのC++プログラム
n個の要素を持つ配列Aがあるとします。円の上に立っている兵士はn人います。 i番目の兵士の場合、身長はA[i]です。偵察ユニットは、高さの差が最小であるそのような2人の隣接する兵士で作ることができます。したがって、それぞれが他の人と一緒に目立たなくなります。偵察ユニットを形成できる兵士のペアのインデックスを見つける必要があります。 したがって、入力がA =[10、12、13、15、10]の場合、出力は(5、1)になります。 ステップ これを解決するには、次の手順に従います- n := size of A D := |A[0] - A[n - 1]| H := n for initializ
-
階段の数と各階段のステップ数をカウントするC++プログラム
n個の要素を持つ配列Aがあるとします。アマルが高層ビルの階段を上っていくようにしましょう。登るたびに、1から数え始めます。たとえば、3段と4段の2つの階段を上る場合、1、2、3、1、2、3、4のような数字を話します。配列Aでは、数字はアマルが言った階段の数字を表しています。彼が登った階段の数を数え、各階段の階段の数も印刷する必要があります。 したがって、入力がA =[1、2、3、1、2、3、4、5]の場合、出力は2、[3、5]になります。 ステップ これを解決するには、次の手順に従います- p = 0 n := size of A for initialize i := 0, when i
-
最初のn個の自然数からの2つのサブセットの合計間の最小差を見つけるC++プログラム
数nがあるとします。最初のn個の自然数を考えてみましょう。各要素が正確に1つのセットに属し、Aの要素の合計とBの要素の合計の絶対差が最小になるように、それらを2つのセットAとBに分割し、その差を見つける必要があります。 したがって、入力がn =5の場合、出力は1になります。これは、A ={1、3、4}およびB ={2、5}とすると、合計値が8と7になるためです。違いは1です。 ステップ これを解決するには、次の手順に従います- return (n * (n + 1) / 2) mod 2 例 理解を深めるために、次の実装を見てみましょう- #include <bits/stdc++
-
与えられた文字列が悪いかどうかをチェックするC++プログラム
n文字の文字列Sがあるとします。 Sには、小文字の英字と)文字が含まれます。最後の文字数)が残りの文字数よりも厳密に多い場合、文字列は正しくありません。 Sが悪いかどうかを確認する必要があります。 したがって、入力がS =fega))))))のような場合、4文字と6)があるのでこれは悪いので、出力はTrueになります。 ステップ これを解決するには、次の手順に従います- ans := 0 n := size of S i := n - 1 while (i >= 0 and S[i] is same as ')'), do: (decreas
-
2つの要素の違いが配列にある新しい要素を挿入した後に配列を見つけるC++プログラム
n個の異なる要素を持つ配列Aがあるとします。配列Bは、任意の2つの異なる要素B[i]およびB[j]に対して、| B [i] --B[j]|である場合にniceと呼ばれます。少なくとも1回はBに表示され、Bのすべての要素は区別されます。 Aに複数の整数を追加して、最大300のサイズにすることができるかどうかを確認する必要があります。可能であれば、新しい配列を返します。それ以外の場合は、-1を返します。 したがって、入力がA =[4、8、12、6]の場合、| 4−2 |であるため、出力は[8、12、6、2、4、10]になります。 =| 6−4 | =| 8−6 | =| 10−8 | =| 12