Ikasten.IO
Learning, Aprendiendo

Competición de programación: Google Code Jam 2007 11 septiembre, 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 🙂

Categorias diariolinux SysAdmin
  • Arky dice:

    Que prisa se han dado estos de Google en copiarme el proyecto! XD

    ¿Está disponible el código fuente?

  • RafaT dice:

    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

  • RafaT dice:

    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);

  • admin dice:

    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)

  • RafaT dice:

    Pues si, llevas toda la razon, no pense en bloques verticales. Ya decia yo que era demasiado facil. Bueno intentare buscar una nueva solucion.
    Gracias.

  • Oscar dice:

    Podrias aclarar la respuesta

  • RafaT dice:

    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.

  • […] Code Jam 2007 A través de una entrada en diariolinux me hago eco del Google Code Jam 2007 y de un par ejercicios de programación para ir […]

  • RafaT dice:

    Bueno esta noche he tenido un rato y me puse a intentar solucionar el problema de nuevo. Espero que esta vez si funcione. He escrito una entrada en un blog que cree hace ya algun tiempo y que tenia prácticamente abandonado. Así que si estáis interesados, pues este es el link http://mis2centimos.wordpress.com/2007/09/14/google-code-jam-2007/

    Un saludo.

Deja un comentario

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