重力は、質量を持つ任意の2つのオブジェクトを引き付ける力です。この課題では、オブジェクトが数字になり、その質量が値になります。そうするために、力の強さではなく、その方向を気にします。
この数字のセットを想像してください
[1 6 9 4 6 9 7 6 4 4 9 8 7]
それらはそれぞれ、それ自体と隣接する数字の間に力を生み出します。ある条件下では、これにより別の番号が番号に引き付けられます(移動します)。数値が隣接する数値よりも大きい場合、それを引き付けます。前の例を見てみましょう。
[1 → 6 → 9 ← 4 6 → 9 ← 7 ← 6 ← 4 4 → 9 ← 8 ← 7]
番号1
は移動するの6
に十分な大きさではありませんが、番号6
は等です。基本的に、番号は最大の隣接番号に移動します(番号自体よりも大きい)。隣接する番号の両方が等しい場合、引き付けられません。番号と隣接する番号が等しい場合にも発生します。
これは魅力を示すためだけのものですが、その後はどうなりますか?引力のために衝突する数は合計されます:
[20 32 28]
したがって、基本的に課題は、一連の数値を与えられ、引き付けられた一連の数値の結果を出力することです。
例1
Input => [10 15 20 10 20 10 10]
[10 → 15 → 20 10 20 ← 10 10]
Output => [45 10 30 10]
例2
Input => [9 9 9 9 8 1 8]
[9 9 9 9 ← 8 1 8]
Output => [9 9 9 17 1 8]
例3
Input => [1 6 9 4 6 9 7 6 4 4 9 8 7]
[1 → 6 → 9 ← 4 6 → 9 ← 7 ← 6 ← 4 4 → 9 ← 8 ← 7]
Output => [20 32 28]
例4
Input => [1 2 3 2 1]
[1 → 2 → 3 ← 2 ← 1]
Output => [9]
例5
Input => [1]
Output => [1]
実施例6
Input => [1 1]
Output => [1 1]
実施例7
Input => [2 1 4]
Output => [2 5]
ノート
- 引力は一度だけ起こる
- 番号は、隣接していない番号に引き付けられません
- 数字のセットには正の整数のみが含まれます
[1 3 5 4 2]
= 15?
G*M*m / r^2
は、両方のボディで等しくなります。軽い方の方が重い方よりも動きますが、それは引力がないからではなく、運動量のためです。「1は6を動かすのに十分な大きさではない」と言うかもしれません。