ロボットが最終位置に到達するまでのステップをカウントするC++コード
2つの座標(x1、y1)と(x2、y2)があるとします。ロボットがポイント(x1、y1)にいて、ポイント(x2、y2)に移動しようとしています。 1つのステップで、ロボットは1つのセルに向かって8つの隣接する座標に移動できます。最終的な位置に到達するために必要な最小限のステップ数を見つける必要があります。
したがって、入力がx1=3のような場合。 y1 =4; x2 =6; y2 =1;の場合、出力は3になります。
ステップ
これを解決するには、次の手順に従います-
return maximum of |x2 - x1| and |y2 - y1|
例
理解を深めるために、次の実装を見てみましょう-
#include <bits/stdc++.h> using namespace std; int solve(int x1, int y1, int x2, int y2){ return max(abs(x2 - x1), abs(y2 - y1)); } int main(){ int x1 = 3; int y1 = 4; int x2 = 6; int y2 = 1; cout << solve(x1, y1, x2, y2) << endl; }
入力
3, 4, 6, 1
出力
3
-
C++の平面内の平行四辺形の数
平行四辺形を形成する点を含む平面が与えられます。タスクは、与えられた点を使用して形成できる平行四辺形の数を計算することです。平行四辺形では、四辺形の反対側は平行であるため、反対の角度は等しくなります。 入力 − int a[] = {0, 2, 5, 5, 2, 5, 2, 5, 2} Int b[] = {0, 0, 1, 4, 3, 8, 7, 11, 10} 出力 −平面内の平行四辺形の数− 3 説明 −(x、y)点が与えられ、これらの点を使用して、図に示すように3つの平行四辺形のカウントを形成できます。 入力 − a[] = {0, 3, 1, 4, 1, 5} b
-
C++のグレイコード
グレイコードは、2つの連続する値が1ビットだけ異なる2進数システムであることがわかっています。コード内のビットの総数を表す非負の整数nがあるとします。グレイコードのシーケンスを印刷する必要があります。グレイコードシーケンスは0で始まる必要があります。したがって、入力が2の場合、結果は[0,1,3,2]になります。これは、0のグレイが00、1のグレイが01、2のグレイが11、3の灰色は10です。 これを解決するには、次の手順に従います- 1つのアレイを作成します 各数値のグレイコードを見つけて、それらをans配列に追加します。 灰色に変換するには、数値を取得し、数値を1ビット右にシフトした後に