Editorial Interprepas ENP Fase Local Primer Nivel ETE 2025-26

Revision en6, by RacsoFractal, 2026-02-18 03:31:37

¡Hola chicos! Muchas gracias por participar. Esta es la primera ocasión en la que el Club de Programación Competitiva de la Facultad de Ingeniería (CPCFI) escribe problemas originales para un concurso, y nos hizo muchísima ilusión que los resolvieran.

Para quienes tengan curiosidad, todos los protagonistas de los problemas son personas que pertenecen al CPCFI. Somos una comunidad muy unida y nos hace mucha gracia verlos como protagonistas de los problemas. Esperamos que en algún momento de sus carreras consideren unirse al club, que siempre tendrá las puertas abiertas para gente que busque desafíos complicados y una comunidad unida que los apoyará incondicionalmente.

Les deseamos lo mejor en su formación personal y profesional, y esperamos verlos de nuevo en la fase final.

Agradecimientos especiales a GusTimeTraveler con quien trabajé en partes iguales para la creación de problemas como miembro académico y problemsetter oficial del CPCFI.

671143A. Piedra, papel o tijera

El problema es uno clásico de implementación.

La idea general se puede resumir en verificar quién fue la ganadora de cada ronda y llevar la cuenta de cuántas veces ganó cada quién en la totalidad del enfrentamiento. Finalmente, la información del output solicitado se resume a un condicional con los contadores que se hayan manejado.

Para hacer ésto, hay un par de alternativas.

La forma más obvia de hacerlo es leyendo las dos cadenas y acomodar condicionales hasta descifrar la conclusión que nos interesa: Eve gana, Ale gana o empataron. Llevando la cuenta de cuántas veces ganó cada quién, es muy fácil decidir al final quién ganó todas las rondas (el contador que sea mayor), que es lo que se pide como salida.

El siguiente código es una solución válida para el problema haciendo exactamente lo descrito.

Solución en Java

Esta implementación se puede simplificar un poco si se ve de cierta forma. Pues no es necesario evaluar toda la cadena si se puede hacer con un caracter simbólico. Para el caso, se puede notar que las palabras 'Piedra', 'Papel' y 'Tijeras' difieren las tres en el tercer carácter, evitando tener que comparar toda la cadena, cosa que en lenguaje C puede ser especialmente útil. Entonces es posible checar únicamente ese carácter y simplificando los condicionales a algo equivalente obtenemos la siguiente solución válida también.

Solución en C

Finalmente, se puede hacer la misma lógica con un único contador. Si en cada comparación sumas '+1' si Eve gana, y restas '-1' si Ale gana, el resultado final está en ver el signo del contador. Algo así es lo que se hace en la siguiente solución.

Solución en Python

671143B. Entrenamiento de equipo I

Aki va mi editorial.

671143C. Acomodo cuadrático

Aki va la editorial de Gus.

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
en13 English RacsoFractal 2026-02-20 20:42:58 20 Tiny change: 'n concurso, y nos hi' -> 'n concurso para media superior, y nos hi'
en12 English RacsoFractal 2026-02-20 20:11:12 0 (published)
en11 English RacsoFractal 2026-02-20 20:08:02 12 Tiny change: 'ser:AldoEZ21], [user' -> 'ser:AldoEZ_21], [user'
en10 English RacsoFractal 2026-02-20 20:07:17 364
en9 English RacsoFractal 2026-02-20 20:05:30 18121 Tiny change: '-ésimo día. Teniendo las tres sumas, se puede' -> '-ésimo día, se puede'
en8 English RacsoFractal 2026-02-19 03:52:28 2027
en7 English RacsoFractal 2026-02-19 03:29:51 281
en6 English RacsoFractal 2026-02-18 03:31:37 4203 Tiny change: 'n Java">\n\n<pre><co' -> 'n Java">\n<pre><co'
en5 English RacsoFractal 2026-02-17 19:51:32 384
en4 English RacsoFractal 2026-02-17 19:41:37 75
en3 English RacsoFractal 2026-02-17 19:28:34 9
en2 English RacsoFractal 2026-02-17 19:23:47 957
en1 English RacsoFractal 2026-02-17 19:06:42 175 Initial revision (saved to drafts)