0

n 人の子供が輪になって座っているゲームをしています。それらのそれぞれには、いくつかのチョコレートがあります。チョコレートの総数は、すべての子供たちに均等に分けられるようになっています。

1 回のラウンドで、いずれかの子供が 1 個のチョコレートを左または右に渡します。私たちは、それらすべてが同じ数のチョコレートを持つために必要なラウンド数を最小限に抑える必要があります。

子供の数 n とそれぞれのチョコレートの数が与えられます。

どのアルゴリズムを適用しますか??

4

1 に答える 1

0

私のヒューリスティックは次のようになります。

while (not equally divided)
    find kid A with the most chocolates
    while (A has more that he should)
        find closest kid B with fewer than he should
            pass one from A to B and add to the number of moves (taking distance into account)
于 2013-03-30T18:58:43.193 に答える