Todos los desafíos
Intermedio 0 resueltos 0% de aceptación

Vaciar Dos Montones de Monedas

Decide si es posible vaciar ambos montones mediante extracciones emparejadas.

En cada movimiento se retiran dos monedas de un montón y una moneda del otro. Se permite cualquiera de las dos orientaciones. Nunca puedes retirar más monedas de las que quedan en un montón. Determina si es posible que ambos montones terminen en cero.

Implementa coin_piles(left, right).

Entrada

left: El número de monedas en el montón izquierdo.

right: El número de monedas en el montón derecho.

Salida

Devuelve true si ambos montones pueden vaciarse; de lo contrario, devuelve false.

Restricciones

0 ≤ left, right ≤ 1,000,000,000. Dos montones vacíos ya se consideran un resultado exitoso.

Ejemplos

Ejemplo 1
Entrada:
left = 4
right = 2

Salida esperada:
expected = True
Entrada:
long long left = 4;
long long right = 2;

Salida esperada:
bool expected = true;
Entrada:
long left = 4;
long right = 2;

Salida esperada:
bool expected = true;

Explicación

Retira (2, 1) dos veces: (4, 2) → (2, 1) → (0, 0).

Ejemplo 2
Entrada:
left = 4
right = 1

Salida esperada:
expected = False
Entrada:
long long left = 4;
long long right = 1;

Salida esperada:
bool expected = false;
Entrada:
long left = 4;
long right = 1;

Salida esperada:
bool expected = false;

Explicación

El único primer movimiento posible deja (2, 0), tras lo cual no hay forma de vaciar el montón izquierdo.

Referencias

Este reto está adaptado para CodeUtility. Sigue el enunciado y las restricciones indicadas arriba.

Aprende de otros

Soluciones de la comunidad

Aún no hay soluciones publicadas. Resuelve este reto para compartir la primera.