コンサート期間間の最小の違いを見つけるためのC++コード
a、b、cの3つの数字があるとします。歌手は「a」1分間の歌、「b」2分間の歌、「c」3分間の歌を持っています。彼は、すべての曲を2つのコンサートに分けて、すべての曲を1つのコンサートに含める必要があるようにしたいと考えています。彼はコンサートの期間の絶対的な違いをできるだけ小さくしたいと思っています。コンサートの期間は、そのコンサートのすべての曲の期間の合計です。コンサートの期間の間に可能な限り最小限の違いを見つける必要があります。
したがって、入力がa=2のような場合。 b =1; c =3の場合、出力は1になります。これは、最初のコンサートに2つの1分曲と1つの2分曲と1つの3分曲、2番目のコンサートに2つの3分曲を含めることができるためです。最初のコンサートの期間は1+1 + 2 + 3 =7、2番目のコンサートの期間は6になります。それらの違いは| 7 −6|です。 =1。
ステップ
これを解決するには、次の手順に従います-
return (a + (1 if c is odd, otherwise 0))
例
理解を深めるために、次の実装を見てみましょう-
#include<bits/stdc++.h> using namespace std; int solve(int a, int b, int c){ return (a+c&1); } int main(){ int a = 2; int b = 1; int c = 3; cout << solve(a, b, c) << endl; }
入力
2, 1, 3
出力
1
-
C++のフローネットワークで最小のs-tカットを見つける
次のフローネットワークがあるとします。ご存知のように、s-tカットは、ソースsノードとシンクtノードが異なるサブセットにある必要があるカットであり、ソースセットからシンク側に向かうエッジが含まれます。ここで、s-tカットの容量は、カットセット内の各エッジ容量の合計で表されます。ここでは、特定のネットワークの最小容量s-tカットを見つける必要があります。ここで期待される出力は、最小カットのすべてのエッジです。 したがって、入力が次のような場合 その場合、出力は[(1,3)、(4,3)、(4,5)]になります。 これを解決するには、次の手順に従います- ノード=6 関数bf
-
C / C++のintとconstint&の違いは何ですか?
ここでは、CまたはC ++でのintとconst_int&の違いを確認します。 intは、基本的に整数型データの型です。そして、constは何かを一定にするために使用されます。 int&定数がある場合、これはいくつかのint型データの参照を保持することを示します。この基準値はそれ自体が一定です。したがって、constは冗長です。コンパイラが警告またはエラーを返す場合があります。 const int&はint const&と同じです。したがって、これは定数整数を指します。参照を介して整数を変更することはできません。