¡Geekalt42 te trae el reto de programación de febrero!

¡Geekalt42 te trae el reto de programación de febrero!

¡Hola Geekalt42ros!

Primero que nada, queremos agradecerles por su participación en las publicaciones, han tenido bastantes shares en FB, y eso nos sigue motivando a escribir más artículos para ustedes 🙂

Hoy les traemos un nuevo reto, parecido al que lanzamos con la temática del día de San Valentín (y con los mismos personajes también rofl). Este reto no está tan fácil como el anterior, por lo que sólo habrá un ganador, y será evaluado con algunos criterios adicionales.

La primer persona que nos mande el resultado correcto, con buena legibilidad de código, se llevará un premio parecido al que entregamos en el reto anterior (Payday 2 para Steam), pero pues más chingón porque nada más será uno 🙂

Happy coding chicos!

Saliendo de clases, Bryan se juntó con sus amigos en la salida, y estaban planeando ir a un billar. Arely, la mejor amiga de Melanie, estaba ahí y sugirió invitar a Melanie, y aunque Bryan dijo que no, a los 5 segundos, Melanie ya estaba con ellos. Bryan no sabía como había vencido sus nervios para ayudar a Melanie con su tarea, y ahora que saldrían todos sus manos temblaban y solo verla lo ponía nervioso :S

Ya en el billar, mientras Bryan jugaba con sus amigos, Melanie le comentaba a Arely lo inteligente que Bryan era, y que empezaba a atraerle su amabilidad, a parte de que realmente era un chico atractivo, sólo lo describió como "un poco geek".

Después de un rato, Melanie retó a Bryan a un juego de billar, pero propuso un reglamento que se encontró en reddit, donde las reglas son:

1. Cada jugador tiene asignado un tipo de bolas, ya sea rayadas o lisas.
2. Debes intentar meter la bola más cerca de la bola blanca.
3. Si metes una bola que no es del tipo que tienes asignado, los puntos se restaran.
4. La bola 8 siempre da puntos positivos.
5. El ganador será el que tenga la maxima suma de números adyacentes, sin importar su signo. Ejemplos:
 [1, 2, 3], [5, -6, 7], [-10, -11, -12].
En el primer juego de prueba, los puntajes fueron:

Bryan -> {9, 8, -11, 5, 6, 1, 2, -14}
Melanie -> {3, 4, -12, -13, 5, 1, -2, -14}

En el juego de Bryan, la lista de números en serie ascendente de uno en uno es: [(5, 6), (1, 2)].
[9, 8] es una serie descendente, la cual no se toma en cuenta para obtener el puntaje.

Con esto, podemos hacer el calculo: 5+6 > 1+-2, por lo tanto 11 es el puntaje más alto de las series ascendentes.

Tras jugar algunos juegos durante el día, ¿Cuántos juegos ganó Bryan?
En el archivo de entrada, el primer arreglo representa el puntaje de Bryan, el segundo el puntaje de Melanie.

Si no hay un ganador, se anula la partida.

Input

Happy coding!

Written by Alberto Romero

Software developer intern @VoxFeed. Experiencia con Java, C#, desarrollo para Android y algunas tecnologías web como Golang, Python, Javascript y los tipicos de front end que ya se los saben de memoria. Me encanta la música y me gustan los videojuegos (especialmente DotA). Abierto a debate, conversaciones espontáneas y #random.

A %d blogueros les gusta esto: