Hoje , a cidade portuguesa do Porto sediará a final das competições internacionais de programação ICPC 2019. Representantes da Universidade ITMO e outras equipes de universidades da Rússia, China, Índia, EUA e outros países participarão. Vamos contar com mais detalhes.
icpcnews / Flickr / CC BY / Foto da final do ICPC-2016 em PhuketO que é o ICPC?
O ICPC é um concurso internacional de programação para estudantes. Elas acontecem há mais de 40 anos - a primeira final
foi realizada em 1977. A seleção é realizada em várias etapas. As universidades são divididas por região (Europa, Ásia, África, América etc.). Em cada uma delas, estágios intermediários são organizados, em particular, a semifinal do norte da Eurásia
foi realizada em nossa universidade . Os vencedores das etapas regionais participam da final.
No ICPC, equipes de três participantes que usam um computador (não conectado à Internet) são convidadas a resolver vários problemas. Assim, além das habilidades de programação, as habilidades de trabalho em equipe também são testadas.
As equipes da ITMO University ganharam o prêmio principal do ICPC sete vezes. Este é um recorde absoluto que tem mantido por muitos anos. Na batalha pela Copa do ICPC 2019,
135 equipes de todo o mundo entrarão em conflito . Este ano, a Universidade ITMO é representada por
Ilya Podurerenykh ,
Stanislav Naumov e
Roman Korobkov .
Como vão as finais
Durante a competição, as equipes
receberão um computador para três. Ele roda no Ubuntu 18.04 e pré-instalou os editores vi / vim, gvim, emacs, gedit, geany e kate. Você pode escrever programas em Python, Kotlin, Java ou C ++.
Quando a equipe resolve o problema, envia-o para o servidor de teste, que avalia o código. Os participantes não sabem que tipo de teste a máquina executa. Se todos eles tiverem sucesso, a equipe recebe pontos-prêmio. Caso contrário, um erro é gerado e os alunos são enviados para ajustar o código.
De acordo com as regras do ICPC, a equipe que resolveu a maioria das tarefas vence. Se houver várias equipes, o vencedor é determinado pelo menor tempo de penalidade. Os participantes recebem minutos de penalidade para cada tarefa concluída. O número de minutos é igual ao tempo desde o início da competição até a aceitação da tarefa pelo servidor de teste. Se a equipe encontrar uma solução, receberá outros vinte minutos de penalidade por cada tentativa incorreta de passar.
icpcnews / Flickr / CC BY / Foto da final do ICPC-2016 em PhuketExemplos de tarefas
Os objetivos do campeonato exigem que as equipes se coordenem e se concentrem. Além disso, eles testam o conhecimento de algoritmos matemáticos individuais. Aqui está um exemplo de uma tarefa que foi oferecida aos participantes do ICPC 2018:
Na gráfica, o termo "rio" existe - é uma sequência de espaços entre as palavras, formada a partir de várias linhas de texto. Um especialista em rios (o presente) quer lançar um livro. Ele deseja que os rios tipográficos mais longos “se formem” quando impressos em uma fonte monoespaçada na página. Os participantes precisavam determinar a largura dos campos nos quais essa condição seria atendida.
Na entrada, o programa recebeu um número inteiro n (2 ≤ n ≤ 2.500), que determina o número de palavras no texto. Além disso, o texto foi inserido: as palavras em uma linha foram separadas por um espaço e não podiam ter mais de 80 caracteres.
Na saída, o programa deveria mostrar a largura dos campos nos quais o "rio" mais longo é formado e o comprimento desse rio.
A lista completa está atrasada em relação ao ano passado, assim como
soluções com explicações podem ser encontradas no site do ICPC. Há também um
arquivo com testes aos quais os programas dos participantes foram “submetidos”.
Então, hoje à tarde, no site do campeonato e no canal do YouTube, haverá uma transmissão ao vivo da cena. As gravações pré-show já estão disponíveis.
O que mais temos no blog sobre Habré: