Hoy , la ciudad portuguesa de Oporto será la sede de la final de los concursos de programación internacional ICPC 2019. Participarán en ella representantes de la Universidad ITMO y otros equipos de universidades de Rusia, China, India, Estados Unidos y otros países. Te contamos más.
icpcnews / Flickr / CC BY / Foto de la final del ICPC-2016 en Phuket¿Qué es el ICPC?
ICPC es una competencia internacional de programación estudiantil. Se han celebrado durante más de 40 años: la primera final
se celebró en 1977. La selección se lleva a cabo en varias etapas. Las universidades se desglosan por región (Europa, Asia, África, América, etc.). En cada uno de ellos, se organizan etapas intermedias, en particular, la semifinal del norte de Eurasia
se celebró en nuestra universidad . Los ganadores de las etapas regionales participan en la final.
En ICPC, se invita a equipos de tres participantes que usan una computadora (no conectada a Internet) para resolver una serie de problemas. Por lo tanto, además de las habilidades de programación, también se prueban las habilidades de trabajo en equipo.
Los equipos de la Universidad ITMO han ganado el primer premio ICPC siete veces. Este es un récord absoluto que se ha mantenido durante muchos años. En la batalla por la Copa ICPC 2019,
135 equipos de todo el mundo se enfrentarán . Este año, la Universidad ITMO está representada por
Ilya Podurerenykh ,
Stanislav Naumov y
Roman Korobkov .
¿Cómo irán las finales?
Durante la competencia, los equipos
recibirán una computadora por tres. Se ejecuta en Ubuntu 18.04 y tiene editores preinstalados vi / vim, gvim, emacs, gedit, geany y kate. Puede escribir programas en Python, Kotlin, Java o C ++.
Cuando el equipo resuelve el problema, lo envía al servidor de prueba, que evalúa el código. Los participantes no saben qué tipo de pruebas realiza la máquina. Si todos tienen éxito, el equipo recibe puntos de premio. De lo contrario, se genera un error y se envía a los alumnos a ajustar el código.
De acuerdo con las reglas de ICPC, el equipo que resuelve la mayoría de los problemas gana. Si hay varios de estos equipos, entonces el ganador está determinado por el menor tiempo de penalización. Los participantes reciben minutos de penalización por cada tarea completada. El número de minutos es igual al tiempo desde el inicio de la competencia hasta la aceptación de la tarea por parte del servidor de prueba. Si el equipo encuentra una solución, recibe otros veinte minutos de penalización por cada intento incorrecto de pasarla.
icpcnews / Flickr / CC BY / Foto de la final del ICPC-2016 en PhuketEjemplos de tareas.
Los objetivos del campeonato requieren que los equipos se coordinen y se concentren. Además, prueban el conocimiento de algoritmos matemáticos individuales. Aquí hay un ejemplo de una tarea que se ofreció a los participantes de ICPC 2018:
En la imprenta, el término "río" existe: esta es una secuencia de espacios entre palabras, que se forma a partir de varias líneas de texto. Un experto en ríos (el presente) quiere lanzar un libro. Quiere que los ríos tipográficos más largos se "formen" cuando se imprimen en una fuente monoespaciada en la página. Los participantes debían determinar el ancho de los campos en los que se cumpliría esta condición.
En la entrada, el programa recibió un número entero n (2 ≤ n ≤ 2 500), que determina el número de palabras en el texto. Además, se ingresó el texto: las palabras en una línea estaban separadas por un espacio y no podían tener más de 80 caracteres.
A la salida, se suponía que el programa mostraría el ancho de los campos en los que se forma el "río" más largo y la longitud de este río.
La lista completa es anterior al año pasado, así como también se pueden encontrar
soluciones con explicaciones en el sitio web de ICPC. También hay un
archivo con pruebas a las que los programas de los participantes fueron "sometidos".
Entonces, hoy por la tarde en el sitio web del campeonato y en el canal de YouTube habrá una transmisión en vivo desde la escena. Las grabaciones previas al show ya están disponibles.
¿Qué más tenemos en el blog sobre Habré?