Las bolsas de Mansa Musa
- O(2ⁿ) · Legendaria
- Plan completo
- Python
- JavaScript
- recursión
- listas
- índices
Enunciado
Mali, 1324. Antes de partir hacia La Meca, Mansa Musa pone una fila de bolsas de oro frente a dos griots de su corte, Kouyaté y Diabaté, y les propone un juego. Por turnos, empezando por Kouyaté, cada uno toma una bolsa de una de las dos puntas de la fila, la de la izquierda o la de la derecha, hasta que no quede ninguna. Cada quien se queda con lo que tomó. Los dos son listos: cada uno juega para llevarse lo más posible, sabiendo que el otro hace lo mismo.
Escribe una función que reciba bolsas, una lista de enteros de 1 en adelante con las monedas de cada bolsa, en el orden de la fila (a lo más 12 bolsas; puede venir vacía). Regresa un entero: cuántas monedas se lleva Kouyaté si los dos juegan lo mejor posible.
Con [3, 9, 1, 2]: si Kouyaté toma la punta más grande, el 3, le deja el 9 a Diabaté y termina con 5. Le conviene tomar el 2: tome lo que tome Diabaté, el 9 queda en una punta para Kouyaté, que se lleva 2 + 9 = 11. Con [5, 3, 7, 10] se lleva 15: toma el 10, Diabaté el 7, él el 5 y Diabaté el 3. Sin bolsas, 0.
Ejemplos
El ejemplo
[3, 9, 1, 2] → 11
El segundo ejemplo
[5, 3, 7, 10] → 15
Número impar de bolsas
[1, 5, 2] → 3
Además de estas, el reto tiene pruebas ocultas que se revelan al enviar tu solución.
Empiezas con esto
Python
def mejor_botin(bolsas):
passJavaScript
function mejorBotin(bolsas) {
}Se abre en el navegador, con el editor y las pruebas. Este reto es del plan completo; los de O(1) y O(log n) son gratis.
Más retos de O(2ⁿ)
- Las casas de Xibalbárecursión · listas · ciclos
- Las cucharas del abuelorecursión · listas · índices
- Las cuentas de Lilavatirecursión · textos · índices
- Las hornadas de la mañanarecursión · listas · diccionarios
- Las rutas del metrorecursión · listas · ciclos
- Los contrapesos del satéliterecursión · listas · operaciones