July 28, 2025

Resolviendo el primer problema en Codeforces: Watermelon (4A) y la importancia de la programación estructurada

Ejemplo visual del problema Watermelon en Codeforces

Uno de los primeros pasos para adentrarse en la programación competitiva es resolver problemas sencillos pero representativos. Uno de los clásicos para principiantes en Codeforces es el problema A. Watermelon, donde se pone a prueba tu lógica y la capacidad de traducir en código condiciones simples.


📝 El problema: Watermelon

Enunciado resumido:
A Pete y Billy les encanta compartir todo en partes pares. Compran una sandía de peso w kilos y quieren dividirla en dos partes, cada una de peso par (no necesariamente iguales), y ambas deben tener peso positivo.
¿Es posible?

  • Entrada: Un número entero w (1 ≤ w ≤ 100), el peso de la sandía.
  • Salida: “YES” si se puede dividir en dos partes pares, “NO” en caso contrario.

🧠 Análisis estructurado del problema

  • ¿Cuándo se puede dividir un número en dos partes pares y positivas?
    • La suma de dos números pares siempre es par.
    • Para que ambos sean > 0, w debe ser al menos 4 (2 + 2).
    • Además, w debe ser par (si es impar, no hay forma de obtener dos pares).

Casos de ejemplo:

  • Si w = 8: se puede dividir en 2+6 o 4+4 (ambos pares, ambos > 0).
  • Si w = 2: solo puedes hacer 1+1 (pero 1 no es par).
  • Si w = 5: no se puede, es impar.

💡 Lógica y pseudocódigo

Si w es par y w >= 4:
    Imprimir "YES"
Si no:
    Imprimir "NO"

💻 Solución en C++

#include <iostream>
using namespace std;

int main() {
    int w;
    cin >> w;
    if (w % 2 == 0 && w >= 4)
        cout << "YES" << endl;
    else
        cout << "NO" << endl;
    return 0;
}

🐍 Solución en Python

w = int(input())
if w % 2 == 0 and w >= 4:
    print("YES")
else:
    print("NO")

🎯 Lecciones clave y buenas prácticas

Plantea el problema en palabras simples antes de programar.

La programación estructurada ayuda a dividir el problema en pequeñas condiciones claras (en este caso, uso de condicionales if).

Este tipo de ejercicios es perfecto para afinar tu lógica y tus habilidades en el análisis de problemas.

Empieza por problemas cortos y aumenta gradualmente la dificultad.

🚀 Conclusión

Resolver tu primer problema en Codeforces puede parecer simple, pero es un gran paso hacia la lógica algorítmica y la disciplina de la programación competitiva. La clave está en entender bien el enunciado, analizar los casos límite y traducir la lógica a código limpio y legible.

¿Tienes dudas sobre este problema? ¿Te gustaría que resuelva otros clásicos de Codeforces? ¡Déjame tu comentario o escríbeme en redes! Sigue practicando y verás cómo tus habilidades crecen día a día.

📝 Referencias

Share