Competición de programación: Google Code Jam 2007

Google Code Jam ha sido hasta ahora una competición del estilo TopCoder y ACM ICPC. De hecho, para su puesta en marcha se basaban en la infraestructura de TopCoder. Sin embargo, el último post del blog de Google indica que Google Code Jam va a ser realizado íntegramente por Google, al parecer sin contar con la infraestructura ni ideas de terceros. De hecho, han publicado ya un PDF con el enunciado de dos posibles ejercicios. Me vienen bien como retos para mi asignatura de Estructuras de Datos y Algoritmos 2007/2008 🙂

9 comentarios sobre “Competición de programación: Google Code Jam 2007”

  1. Bueno no se cuales son los requerimientos para escribir estos programas, pero he escrito en java una posible solucion al primero de los problemas.

    int width = 0;
    int min_height = 100000000;

    for (int i=1; i

  2. Parece que se corto en el menor que

    for (int i=1; i<args.length; i=i+2) {
    int w = Integer.parseInt(args[i]);
    int h = Integer.parseInt(args[i+1]);

    width += w;
    if (h < min_height) min_height = h;

    }
    System.out.println(width*min_height);

  3. RafaT: calculas el bloque de menor altura y multiplicas por la suma de las anchuras. Eso no resuelve casos como éste:

    *
    *
    **

    Según tu solución el bloque de área mayor es 2*1 =2, cuando la realidad es que el bloque mayor sería 1*3=3 (el primer bloque en vertical)

  4. Pues básicamente la solución que yo di lo que hace es buscar la altura del edificio más pequeño y multiplicarla por la suma de la anchura de todos los edificios, pero como muiy bien dijo admin, que pasa si tienes un edificio de altura 1000 y anchura 2 por ejemplo y luego tenemos un edificio de altura 5 y anchura 3. Lo que haría my algoritmo sería multiplicar 5, que es la altura del más pequeño por la suma de las anchuras de los edificios, es decir 5, cuyo resultado seria 25, sin embargo el rectángulo más de mayor area sería de 1000 por 2, es decir 2000. No sé si me he explicado con suficiente claridad.

    Un saludo.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *