Establecido desde el año pasado, Facebook ha convocado a su segundo concurso anual de programación de algoritmos, en donde las rondas clasificatorias se llevarán a cabo del 20 al 23 de enero de este año. El concurso es mundial y la idea es demostrar precisión y velocidad al resolver los problemas que se presenten. La parte en línea del concurso empieza con una ronda de clasificación que dura 72 horas y que presenta a todos los interesados tres problemas. Cada competidor que resuelva al menos uno de los problemas, pasa a la ronda el línea 1, la cual dura 24 horas y que se llevará a cabo del 28 al 29 de enero.

Para avanzar a la ronda 2 en línea, los participantes deben resolver al menos un problema correctamente. Si más de 500 personas resolvieron un problema correctamente, los mejores 500 participantes continuarán a la siguiente ronda, lo cual quiere decir que probablemente los mejores habrán resuelto más de un problema. Y así hasta el lugar 500.

La ronda 2 en línea dura solamente 3 horas y se llevará a cabo el 4 de febrero. Seleccionará a 100 concursantes para ir a la ronda 3 en línea, con lo cual se harán acreedores automáticamente a una playera del concurso “Hacker Cup”.

Los 25 concursantes que emerjan de la ronda 3 en línea, que durará solamente 3 horas el 11 de febrero, se les ofrecerá pagarles el viaje completo a los cuarteles generales de Facebook en California y podrán tomar parte de la fase final, que se llevará a cabo el 17 de marzo del 2012. El campeón se llevará 5000 dólares, el título de Campeón Mundial y su nombre quedará inmortalizado en el trofeo de la Copa Hacker. Habrá un premio de 2000 dólares al segundo lugar, 1000 dólares al tercer puesto y el resto se llevará 100 dólares (cada uno de los finalistas).

Pero ¿qué tipo de problemas son los que enfrentarán los concursantes? En el sitio del concurso están los que se plantearon el año pasado (pero hay que registrarse para verlos). Pero para darles una probadita al respecto, una de las preguntas del año pasado consistía en escribir un programa que leyera una lista de enteros (siempre menor que 100 en total), e imprimir de cuántas maneras se puede expresar cada entero como la suma de dos cuadrados, por ejemplo 25 = 0^2 + 5^2 o 4^2 + 3^2.

Quizás para algunos suene como una pregunta matemática, pero de lo que realmente se trata es de implementar una búsqueda simple que solucione el problema (yo estoy seguro que esto sale fácil en Prolog haciendo una búsqueda exhaustiva sobre el dominio de los 100 números al cuadrado y sacando todas las combinaciones posibles). Cabe decir que no se busca que la solución esté optimizada. Sólo se busca tener una solución que funcione. Éste es un ejemplo de las preguntas del concurso y hay que solucionar al menos una para pasar a la siguiente etapa.

El año pasado hubo 11768 inscritos y los 25 finalistas fueron representantes de Polonia (7), Rusia (6), Estados Unidos. (4), Japón (2) China (1), Alemania (1),  Holanda (1), Singapur (1), Suiza (1) and Ucrania (1). Los ganadores fueron: primer lugar Petr Mitrichev (ver la foto del flamante ganador del 2011); segundo lugar Anh Tuan y tercer lugar  Tiancheng Lou.

Si le entra algún lector matukense, es probable que al principio no se haga demasiado compromiso para participar, pero si avanza en las siguientes rondas, tendrá que invertir más horas en esto, pero ¿qué tal y gana? A diferencia de otros concursos, éste es de programación pura en el sentido que hay que pensar en algoritmos e implementarlos. Suena buena idea si es aficionado a los retos.

Fuente: i-programmer

Enlaces Patrocinados
Comentarios