2013-03-30 3 views
0

우리는 n 명의 어린이가 원으로 앉아있는 게임을하고 있습니다. 그들 각각은 몇 개의 초콜릿을 가지고 있습니다. 초콜렛의 총 수는 모든 어린이들에게 균등하게 분배 될 수 있습니다.choclate를 통과하는 라운드 수

한 라운드에서 어린이 한 명이 초콜릿 한 개를 왼쪽이나 오른쪽으로 통과시킵니다. 우리는 최소한 모두 같은 수의 초콜릿을 먹을 수있는 그러한 회진이 얼마나 적은지에 대해 대답 할 필요가 있습니다.

어린이 n의 수와 각각의 초콜릿 수가 표시됩니다.

어떤 알고리즘을 적용해야합니까 ??

답변

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) 
+0

나는 의심한다. – Fluvid

+0

나는 의심 스럽다. 어떤 종류의 대답을 찾고 계십니까? 알고리즘 및 알고리즘이 최적이라는 수학적 증거가 있습니까? –

+0

나는 최적의 답을 찾는 알고리즘을 찾고있다. 나는 수학적 증거에 너무 열중하지 않습니다. – Fluvid