Maratona de Programação

O que é Computação Competitiva?

A Computação Competitiva é um esporte mental onde os participantes resolvem problemas algorítmicos complexos dentro de um limite de tempo. A competição mais tradicional de nível superior é a Maratona de Programação da SBC, que faz parte da etapa regional sul-americana do ICPC (International Collegiate Programming Contest), o mundial da categoria.

Além dela, existem a OBI (Olimpíada Brasileira de Informática), focada nos ensinos fundamental e médio e início da graduação, e competições regionais importantes como a Maratona Mineira de Programação, que fomentam o cenário local.

Por que participar? (Mercado de Trabalho)

Este tipo de prática não serve apenas para competições. A capacidade de resolver problemas complexos de forma eficiente e rápida é uma competência altamente valorizada por grandes empresas de tecnologia (Big Techs como Google, Meta, Amazon), que utilizam desafios similares em seus processos seletivos (coding interviews).

Como Funciona?

Cada equipe participante é formada por 3 competidores, um técnico e um reserva. Para cada equipe, são disponibilizados um único computador e um (eventualmente 3) caderno de provas, para, primeiro, uma sessão de aquecimento (2 problemas em uma hora e meia) e depois a maratona em si (8 a 11 problemas em 5 horas ininterruptas).

As equipes criam um programa na linguagem preferida para resolver cada um dos problemas. O caderno de provas especifica, para cada problema, alguns casos de teste e exemplos de entradas e as saídas correspondentes para realização de testes preliminares.

Após decidirem que terminaram, a equipe envia o código-fonte, via um sistema específico, por rede, para os juízes, que por sua vez compilam o código-fonte e executam uma bateria de testes para verificar a se o programa está correto ou não.

Os Problemas

Os problemas são enunciados de forma bem humorada, em contextos fictícios, porém, de aplicação prática. Envolvem, dentre outros:

  • Aritmética e Álgebra
  • Geometria Computacional
  • Manipulação de Strings
  • Grafos
  • Problemas Combinatórios

Pontuação

  • Cada resposta certa vale a quantidade de minutos necessária para resolver o problema desde o início da competição: quanto mais rápido, melhor!
  • Cada resposta errada soma 20 minutos ao tempo final e não existe limite para respostas erradas
  • O time com mais problemas resolvidos e menor pontuação é o melhor colocado
  • Cada problema corresponde a um balão de uma cor, ao resolver um problema, o balão correspondente é colocado em seu computador

Tipos de Erros

Os programas podem ser enquadrados nos seguintes tipos de erros:

  • Erro de compilação
  • Erro de execução
  • Saída em formato errado
  • Resposta errada
  • Tempo de execução excedido
  • Contate os organizadores…

O Que É Permitido

  • C, C++, Java, Python, Pascal
  • Ambiente computacional Maratona Linux
  • Consulta a livros e material impresso
  • Papel e caneta
  • Imprimir o código escrito (para depuração e análise do código)
  • Tirar dúvidas (clarifications) sobre a corretude e completude do enunciado dos problemas
  • Se alimentar, ir ao banheiro…

O Que Não É Permitido

  • Internet
  • Aparelhos eletrônicos
  • Comunicação com o técnico ou outros
  • Shell script

E o Técnico?

É o responsável pela inscrição e parte burocrática. Também acompanha os juízes durante a competição e defende os interesses do time e fiscaliza todo o processo. Não é uma regra, mas geralmente os técnicos treinam as respectivas equipes.

A Cefet-Timóteo e a Maratona

2010 foi o ano da primeira participação de um time da Cefet-Timóteo na Maratona de Programação (Confira o Hall da Fama). A preparação foi muito rápida (apenas 4 sessões, 22 dias antes da competição) e ainda assim obtivemos um resultado satisfatório.

No decorrer do semestre realizaremos maratonas internas para seleção de times (plural proposital) para treinamento mais intenso e participação na competição.

Hall da Fama em construção

2010

  • Fase Regional da Maratona de Programação
  • Fase Final da Maratona de Programação
    • Equipe:
    • Técnicos:
    • Posição:
    • Fotos
Back to top