円にはn
の子供がいます。それぞれにはいくつかのキャンディーがあります(マイナス、プラス、ゼロ)。彼らは一度に彼らの隣人に一つのキャンディーを与えることができます。最終的な結果は、すべてが最小限のステップでキャンディーをゼロにする必要があるということです。丸でキャンディーに配布する最小化手順
我々は(-4, -2, 4, 2)
キャンディーと4人の子供を持っていると仮定し、次いで配列は
- (-3、-2、4、1)
- (-2、-2、4、0) あろう
- (-2、-1、3、0)
- (-2、0、2、0)
- (-2、1、1、0)
- (-2、2、0、0 )
- (-1,1,0、 0)
- (0、0、0、0)
これは一つの可能な答えは、私はステップの最小数を見つける必要があります。
ループ1:隣人が正のキャンディーを持っているならば、キャンディーの数がゼロに等しくなるまで、負のキャンディーで隣人にそれを与えるとの和に与えられたキャンディーの数を追加し、見つけます。
ループ2:隣人の隣人が肯定的なキャンディーを持っているかどうかを調べ、キャンディーの数がゼロになるまでネガティブキャンディーでそれを与え、2(合計に与えられるキャンディーの数)を加えます。
など。
私の解決策の複雑さはTLEを引き起こしています。複雑さを減らすために私は何ができますか?
使用しているオンラインジャッジを参照してください。 – Alexander
nの最大値は10000、制限時間は3秒です。これは私の大学のインタビューのストリップのコンプをコーディングしていた。私はそれを解決することができませんでしたが、答えが何であるか知りたいと思っていました。 – kanz
ネガティブキャンディー?その貧しい子供たち! –