Brasil Brasil Brasil

Regras

A XIII Maratona de Programação faz parte do Concurso de Programação da ACM. Assim, as regras das regionais se aplicam neste concurso no tocante à formação dos times, pontuação e classificação para as finais mundiais do Concurso da ACM.

 Realização da XIII Maratona de Programação

Neste ano a XIII Maratona de Programação ocorrerá em duas fases. A primeira fase da Maratona será no dia 20 de setembro de 2008 em várias sedes no país aprovadas pelo Comitê Diretor da Maratona. As inscrições para sediar a primeira fase devem ser feitas ao Comitê Diretor da Maratona até 10 de junho, e as sedes aceitas estarão cadastradas no site do ICPC até 30 de junho.

As inscrições dos times devem estar completas até 10 de setembro. A prova da primeira fase será a mesma para todas as sedes, e o responsável pela sede garantirá as condições para a realização do concurso local. Os resultados das sedes deverão ser enviados ao Comitê Diretor da Maratona até 23 de setembro de 2008.

O Comitê Diretor informará até 3 de outubro de 2008 as equipes classificadas para a final brasileira, que se realizará nos dias 14 e 15 de novembro. As despesas dos times durante a final serão cobertas pela organização. Poderá haver ajuda parcial para o transporte dos times mais distantes ao local da final brasileira.

Inscrição de times e classificação para a final brasileira

Na primeira fase da Maratona cada instituição poderá inscrever seus times na sede em que julgar mais conveniente. A fase final da Maratona de Programação ocorrerá nos dias 14 e 15 de novembro, e contará com cerca de 30 times classificados. Cada escola poderá ter no máximo dois times nesta final.

As vagas na final brasileira serão distribuídas pelas sedes que tiverem atingido o mínimo de 6 times e 3 escolas participantes na sede. O número de vagas da sede será definido como descrito abaixo e estas vagas serão ocupadas pelos primeiros classificados desta sede, desde que tais times tenham resolvido pelo menos dois problemas na prova da primeira fase:

  • [regra 1] 10 vagas serão distribuídas entre as sedes que contarem com a participação de um time de escola que recebeu medalha na Maratona de Programação 2007;
  • [regra 2] cerca de 20 vagas serão distribuídas entre as sedes de acordo com o número de escolas participantes naquela sede através da fórmula:

          NúmerodeVagas = arredonda(20 * NumerodeEscolasnaSede / TotaldeEscolas).

Havendo vagas restantes, estas serão atribuídas por decisão do Comitê Diretor da Maratona de Programação sob forma de incentivo ao crescimento de sedes ainda não contempladas onde tenham competido times que tenham resolvido mais de um problema da prova, ou por outros critérios que serão divulgados na ocasião da definição dos times participantes da final.

Formação dos times

Cada time representa uma instituição de ensino superior, e é formado por um coach e três alunos desta instituição. Uma mesma instituição pode ter vários times participantes da primeira fase do concurso. Todos os times de uma institutição devem disputar a primeira fase em uma mesma sede. A aceitação de mais de dois times de uma escola está sujeita à capacidade da sede em que a inscrição se realiza e será atendida por ordem de chegada.

O concurso se destina a alunos de instituições superiores tipicamente da área de computação (Ciência da Computação, Engenharia de Computação, Sistemas de Informação, etc) e áreas afins (Matemática, Física e Engenharia). O coach será o representante da instituição junto à organização do concurso e deverá ser um docente desta instituição ou deverá ser indicado para a função por um representante da instituição. O mesmo coach poderá representar todos os times da instituição. Os times da instituição poderão ser inscritos em qualquer das sedes brasileiras aceitas pelo Comitê Diretor do concurso. Todos os times da instituição devem competir na mesma sede.

Cada time é composto por três alunos e, no máximo, um reserva. Todos devem ser alunos regulares de cursos de graduação ou pós-graduação da instituição de ensino. A participação do reserva no concurso se dará apenas em caso de algum problema ocorrer com um dos participantes antes da realização do concurso, e a substituição deverá ser comunicada ao Comitê Diretor da XIII Maratona de Programação até, no máximo, a véspera da competição. Depois de iniciado o concurso não há possibilidade de substituições no time.

Um time é elegível se todos os seus membros satisfizerem a condição abaixo:

  • cada competidor, antes desta competição, pode ter participado de no máximo uma final mundial do concurso da ACM, de no máximo 4 (quatro) regionais sul-americanas do concurso (ou seja, da Maratona de Programação) e deve ter iniciado seus estudos universitários no ano de 2004 ou anos posteriores (a contar do início do primeiro curso universitário do aluno), ou ter nascido em 1985 ou anos posteriores.

Assim, por exemplo, se você iniciou seu primeiro curso superior em 2005, pode participar, mesmo que tenha nascido em 1980. Outro exemplo, se você nasceu em 1986 é pode participar, mesmo tendo iniciado sua graduação em 2003.

Apresentamos abaixo novamente as regras, agora em forma de um "programa" para verificar se o competidor é ou não elegível:

 a) [regras de participação]
      se o competidor já participou de duas finais mundiais, ele não é elegível

      se o competidor já participou de cinco regionais, ele não é elegível

 b) [período de elegibilidade]
    se o competidor iniciou seus estudos universitários no ano 2003 ou anos anteriores E o    competidor nasceu em 1984 ou anos anteriores), ele não é elegível;

 c) caso contrário,

     o competidor é elegível.

Formato do concurso

Em cada uma das fases da Maratona de Programação os times receberão uma prova com diversos problemas que devem ser resolvidos durante 5 horas de competição. A prova da final brasileira será escrita em inglês. A prova da primeira fase poderá ser em português. Os problemas deverão ser resolvidos em alguma das linguagens de programação disponíveis. Na final brasileira os programas deverão ser feitos em C, C++ ou Java. Na primeira fase, se o diretor da sede achar conveniente, programas em Pascal podem também ser aceitos. Os juízes do concurso, entretanto, não terão soluções dos problemas implementadas em Pascal. Os times poderão resolver um problema da prova em uma linguagem de programação e um outro problema em outra linguagem, sem qualquer prejuízo. Para a implementação os times terão à sua disposição um computador e todo o material escrito que desejarem. Entretanto, não poderão fazer uso de material armazenado em meio magnético ou ter acesso à Internet durante a competição.

Quando um time julgar que tem um programa que resolve um problema, ele pode submetê-lo à correção dos juízes, que compilam e executam este programa para uma bateria de testes desconhecida dos times. Um problema é considerado resolvido se, para todos os testes da bateria, ele devolve o resultado esperado pelos juízes. Para cada submissão o time recebe uma resposta, que pode ser satisfatória (e o problema está resolvido pelo time) ou indica algum erro ocorrido, como: resposta errada, tempo de execução excedido, erro de execução, erro de compilação, etc.

O time vencedor é aquele que resolve a maior quantidade de problemas nas 5 horas de competição. Empates no número de problemas resolvidos são classificados pelo tempo corrigido. Ganha aquele que tem o menor tempo corrigido. O tempo corrigido do time é dado pela soma dos tempos corrigidos somente dos problemas corretamente resolvidos pelo time. O tempo corrigido de um problema é dado pelo número de minutos decorridos desde o início da competição até o momento da submissão correta somado com uma penalidade de 20 minutos por submissão incorreta feita anteriormente neste problema. Em caso de empate, será considerado vencedor o time com a primeira submissão correta. Persistindo o empate a organização fará um sorteio entre os times envolvidos.

A organização da competição é responsável pela decisão de qualquer caso não previsto. Os times inscritos permitem o uso e divulgação de suas imagens e dos programas submetidos pela organização da competição.

Premiação e qualificação para as finais mundiais

A Maratona de Programação da SBC oferece medalhas aos dez primeiros colocados na fase final da competição: ouro para os três primeiros; prata para o quarto, quinto e sexto; e bronze para o sétimo a décimo lugares. Além disso, o time campeão recebe uma cópia do troféu "Maratona de Programação".

O time campeão da Maratona de Programação garante vaga nas finais mundiais do concurso de programação da ACM. Caso o Brasil receba outras vagas nas finais da competição, estas serão ocupadas pelos primeiros colocados da final brasileira, respeitado o limite de uma vaga por instituição, conforme regra do ICPC.

 

 

© 2010, Universidade Federal do Piauí - UFPI   Campus Universitário Ministro Petrônio Portella - Bairro Ininga - Teresina - PI
Coordenadoria de Comunicação Social, 3215-5525, comunicacao@ufpi.edu.br
CEP: 64049-550 - Todos os direitos reservados.