You are here: Foswiki>Main/AED Web>ChuckNorris>ChuckNorris2013 (26 Mar 2015, MarioStorti)Edit Attach

Torneo de Programación en C++ "Chuck Norris". Edición 2013

  • [2013-03-22 12:06:12] Está el enunciado del torneo
  • [2013-03-20 12:59:35] Los límites sobre los recursos son: runtime 250secs, RAM 6GB. El límite de RAM estaba hasta 2.5GB pero lo estamos subiendo en este momento a 6GB. Si por alguna razón la ejecución da error porque se excede de RAM lo único que van a ver es RUNTIME ERRROR. Tengan en cuenta que sólo los dos vectores datos A y B tienen ocupan 200MB cada uno. O sea que si bien con los 6GB tienen memoria suficiente para los algoritmos que hemos propuesto, si utilizan alguna variante que requiera más vectores auxliares podrían llegar al límite.
  • [2013-03-20 08:12:46] El dameon "juez" estuvo caído de 02:48hs ART a 07:26hs. Si notan que sus trabajos quedan en PENDING es porque esta caído, por favor en ese caso nos avisan.
  • [2013-03-20 08:00:40] Por si les sirve, el servidor donde se corren las pruebas es un Intel Xeon E5420 dual @ 2.50GHz (8 cores). SPEC CINT2006 Rate: 120 (http://www.spec.org/cgi-bin/osgresults?conf=cpu2006). En principio si tienen una máquina XYZ donde el programa les tarda un tiempo T, pueden tener una idea de cuanto les tardaria en nuestro DOMjudge escaleando por los SPEC rate (mejor dicho por sus inversas T(E5420) = T(XYZ)*SPEC(XYZ)/SPEC(E5420)).
  • [2013-03-19 15:10:00] HOWTO de como participar en el minitorneo:
    • Solicitar la apertura de una cuenta TEAM a Juan Prigioni jdprigioni(at)gmail.com
    • Escribir un programa que resuelva el problema para cualquier N, utilizando el template intersec.cpp suministrado.
    • Chequear que funcione con N=20 (debe imprimir por pantalla el número 5). También pueden chequear las secuencias de enteros generadas A y B y del conjunto intersección C (están en el enunciado del minitorneo). Si las secuencias generadas A y B no son las mismas puede haber un error en el generador random. (Deberían ser exactamente iguales si usan GCC, y en principio deberían ser iguales también si usan otro compilador de C++ que cumpla con el standard ISO C.)
    • Chequear que funcione con N=50000000 (debe imprimir por pantalla el número 15480308.
    • El tiempo no debe ser muy alto (más de 10 minutos), caso contratio no va a llegar a correr en el DOMjudge dentro del tiempo máximo del concurso (250 segundos).
    • Una vez que satisface todos estos requerimientos, submitirlo en el DOMjudge: http://200.9.237.60/domjudge/team/
  • [2013-03-19 09:49:55] Hemos insistido en que a efectos de tener la implementación lo más eficiente posible, lo más importante es elegir correctamente el algoritmo. Pero además de esto es importante utilizar técnicas de programación eficiente. Algunos trucos los pueden ver en este apunte.
  • [2013-03-19 09:03:36] Mas abajo pueden encontrar el REGLAMENTO del concurso. El IP del servidor DOMjudge es 200.9.237.60. Una vez que tengan usuario y contraseña para el equipo (pidiéndola a Juan jdprigioni(at)gmail.com) deben ingresar por http://200.9.237.60/domjudge/team/
  • [2013-03-19 07:35:26] Aclaración sobre el * mecanismo de clasificación:* Recuerden que el objetivo del torneo es dearrollar capacidades para escribir programas eficientes en base al conocimiento de los algoritmos y estructuras, en particular de las librerías de C++. A diferencia de los torneos de la ACM en este caso la clasificación se basa en obtener el menor tiempo de ejecución para un problema "grande", en el caso del minitorneo sería determinar el tamaño de la intersección de dos conjuntos de 5e7 elementos. Para esto hemos modificado el DOMjudge de forma de que clasifica de todas las entradas correctas aquella que tiene el menor tiempo de ejecución. Por el contrario en los torneos de la ACM se toma aquella que submitió la respuesta correcta lo antes posible. En este Torneo se puede submitir tantas veces como se quiera, sin penalizacion. Hay un tiempo límite de ejecución, es decir que aquellas entradas que no terminan antes de ese tiempo son descartadas.
  • [2013-03-18 22:39:09] El congreso se va a realizar utilizando el paquete DOMjudge, es el mismo que se utiliza en los torneos de la ACM. El manual para equipos se puede consultar aquí. Para registrar un equipo deben enviar un mail con: nombre del equipo e integrantes a Juan Prigioni (jdprigioni(at)gmail.com). Vamos a hacer un minitorneo "para entrar en calor", es decir para simplemente probar el sistema. Este minitorneo comenzará mañana martes a las 1200hs ART, y terminará el jueves 20/3 a las 1200hs. El tema del minitorneo se encuentra en esta página.
  • [2013-03-10 17:47:47] Se creó el grupo de Google torneo-prog-cn@googlegroups.com (https://groups.google.com/d/forum/torneo-prog-cn). Todos los interesados en participar del torneo son invitados a suscribirse a ese grupo. Los medios oficiales para submitir información son el mmencionado grupo y esta página web http://www.cimec.org.ar/twiki/bin/view/AED/ChuckNorris.
  • [2013-03-10 17:28:24] ATENCIÓN: Se larga el torneo de programación!! Fecha del torneo: Viernes 22/3/2013 1200hs. Termina: Domingo 24/3/2013 1800hs.

MINI-TORNEO

Como "previa" al torneo que se va a realizar el viernes 22/3, y a fin de que los participantes se familizarizen con el sistema estamos realizando un minitorneo, cuyo enunciado se encuentra aquí.

REGLAMENTO

  • Para la clasificación las submisiones se ordenan de acuerdo a si cumplieron la consigna o no, y dentro de ellas de acuerdo al menor tiempo de ejecución.
  • No se podrá utilizar multi-threading (OpenMP, pthreads, MPI o similar).
  • Prohibido hacer caer el servidor o intentar explotarlo de alguna forma de manera intencional.
  • Prohibido subir código obfuscado. Topcoder da la siguiente definición sobre código obfuscado: "An obvious and deliberate attempt to disguise the true behavior or nature of the code."
  • Los límites sobre los recursos son: runtime 250secs, RAM 6GB.
  • La competencia puede ser individual *o en *equipo. No se puede obtener ayuda ajena (fuera del equipo) "en vivo".Es decir, se puede obtener ayuda de libros, pero no preguntar en un foro.
  • Todas las controversias serán resueltas por un Jurado constituido por los docentes: Jorge D'Elía, Diego Galizzi, Juan Prigioni, Mario Storti.

ANUNCIO

Las Cátedras de las materias Teoría de la Computación y Algoritmos y Estructuras de Datos están organizando un torneo de programación, orientado a hacer algoritmos eficientes sobre todo a través de usar los contenedores más apropiados y los tipos de algoritmos más eficientes, y conocer las complejidades algorítmicas de las diferentes operaciones.

  • Pueden anotarse alumnos de II FICH o cualquier particular en general.
  • El objetivo del concurso es desarrollar capacidades de programación en C++ con los contenedores de STL y obtener códigos eficientes, por el conocimiento de la complejidad algorítmica de las diferentes operaciones involucradas.
  • La consigna se emite a través de la página web del curso. Se provee un código (en forma de una clase de C++) que permite al concursante autoevaluarse y verificar la performance de su propuesta.
  • La submisión de las propuestas se hace en forma eléctronica. Tienen un cierto tiempo T (e.g. 1 o 2 días, a definir) para enviar la propuesta, a una cuenta de correo a especificar.
  • La propuesta que gana es la que pasa todos los tests y de ellas la que da el menor tiempo.
  • Los medios oficiales de comunicación son el grupo de Google torneo-prog-cn@googlegroups.com (página web https://groups.google.com/d/forum/torneo-prog-cn) y esta página web http://www.cimec.org.ar/twiki/bin/view/AED/ChuckNorris. Todos los interesados en participar del torneo son invitados a suscribirse a ese grupo.
  • Ante cualquier duda consultar a
    • Mario Storti mario.storti at gmail.com
    • Juan Prigioni jdprigioni at gmail.com
    • Diego Galizzi dgalizzi at gmail.com
Topic revision: r1 - 26 Mar 2015, MarioStorti
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback