ETAPA 07 (01/11) – Distribuindo doces ao final dos jogos
Abaixo estão os arquivos contendo sugestões para a resolução dos três desafios:
Desafio 1 – Arbitragem
Desafio 2 – Meteoro
Desafio 3 – Distribuindo
Desafio 4 – Popularidade
Desafio 5 – Telefone
Desafio 6 – Doces
Desafio 7 – HelpSheldon
ETAPA 06 (25/10) – The One Before The Last One
Abaixo estão os arquivos contendo sugestões para a resolução dos três desafios:
Desafio 1 – Sandwich
Desafio 2 – Water
Desafio 3 – Strings
ETAPA 5 (18/10) – O fim do Labirinto está próximo
Abaixo estão os arquivos contendo sugestões para a resolução dos três desafios:
Desafio 1 – Multiplicacao
Desafio 2 – DigitosDiferentes
Desafio 3 – GuuChokiPaa
Desafio 4 – Labirintos
ETAPA 4 (11/10) – 4 É de mais
A quarta etapa do BXCOMP 2017 foi realizada na quarta-feira (4/10) e foram propostos quatro desafios: Constelação, Set, Relógio e Salto. Nessa etapa, houve a novidade da aplicação de 4 desafios (um a mais que o usual) e por isso exigiaum pouco mais das equipes, desde estratégia de organização até o desenvolvimento da lógica de resolução.
O primeiro desafio, Constelação, foi um desafio fácil porem pouco resolvido pelas equipes. O desafio pedia aos competidores que dado um número de pontos, determinasse a quantidade de estrelas formadas (estrelas estas são figuras formada por seguimentos cujo a distância de dois pontos é o mesmo para cada seguimento e a figura passa por todos os pontos). O maior problema desse desafio foi um erro conceitual, pois consideravam uma mesma figura duas vezes na hora de iterar no for. Por exemplo, uma estrela com 8 pontos e distancia 1 entre pontos é igual uma estrela de 8 pontos com distancia 7 e este caso deveria ser desconsiderado.
O segundo desafio, Set, se mostrou o mais complicado da etapa, e apenas uma equipe conseguiu resolvê-lo. O desafio consistia de um jogo na qual era dado uma quantidade de cartas e deveria montar o máximo de set possível (set é um conjunto de 3 cartas que possui 2 características que devem ser iguais ou diferentes para cada característica conforme o enunciado)
O terceiro desafio, Relógio, foi um dos fáceis e foi o mais resolvido da etapa. A tarefa era, dado dois horários (um de início e outro de fim) calcular a diferença entre eles em minutos. A grande questão de muitas equipes é que o horário de início poderia ser maior que o horário de fim e por isso teriam que considerar que a caminhada foi concluída no dia seguinte no horário de fim.
O quarto desafio, Salto, foi um dos desafios mais fáceis. Ele consistia em uma competição baseada em 3 provas. Cada prova tem sua nota e possui peso diferente das demais. O desafio era fazer as medias e falar quem venceu a competição. Porém, esse desafio apresentou um problema técnico e por isso várias equipes perderam tempo neste exercício. Por isso, depois de rejulgamento de todas as submissões desse problema, todas as equipes que enviaram o desafio e acertaram ganharam um ponto para cada desafio não acertado.
Abaixo estão os arquivos contendo sugestões para a resolução dos três desafios:
Desafio 1 – Constelacao
Desafio 2 – Set
Desafio 3 – Relogio
Desafio 4 – Salto
ETAPA 3 (04/10) – Tesouro dos deuses
A terceira etapa do BXCOMP 2017 foi realizada na quarta-feira (4/10) e foram propostos três desafios: Mensagens de Loki, O Trabalho de Sísifo e Filósofos. Esses desafios eram mais difíceis que os das outras etapas e exigiram um pouco mais das equipes, desde estratégia de
organização até o desenvolvimento da lógica de resolução.
O primeiro desafio, Mensagens de Loki, foi o desafio mais resolvido. O desafio pedia aos competidores que traduzissem várias mensagens codificadas, de acordo com uma regra específica apresentada no enunciado do problema – e que envolvia a sequência de Fibonacci.
O maior problema encontrado pelas equipes nesse desafio, foi da leitura do primeiro caso de teste (que era uma linha de texto) após a leitura do número de casos de testes (um inteiro). Isso porque a primeira chamada da função nextLine( ) logo após a leitura do número inteiro, lê até o fim da linha onde o número está, retornando uma string vazia. Uma das formas de resolver esse problema, é utilizando a função next( ), que fará a leitura do próximo elemento não-vazio, ou adicionado uma chamada à função nextLine( ) logo após a leitura do inteiro.
O segundo desafio, O Trabalho de Sísifo, pedia às equipes que determinassem em quanto tempo o personagem da história chegaria ao topo ou à base da montanha em que estava, ou se ele ficaria parado em algum momento, sendo que ele avançava e recuava um pouco a cada hora.
Para resolver esse desafio, as equipes precisavam perceber pelo enunciado que Sísifo precisaria chegar a uma posição estritamente maior que o tamanho da montanha para chegar ao topo, ou estritamente menor que 0 (antes da base) para voltar à base. Além disso, era necessário fazer a verificação de chegada ao topo logo depois de avançar a cada hora, e antes de executar o recuo.
O terceiro desafio, Filósofos, se mostrou o mais complicado da etapa, e apenas uma equipe conseguiu resolvê-lo. O desafio apresentava uma mesa circular de filósofos que pretendiam comer algumas refeições. Porém, só há um hashi entre cada filósofo, o que significa que, para que um filósofo possa comer, os seus dois “vizinhos” não poderiam estar comendo.
Olhem os códigos disponíveis abaixo e estudem os métodos que não conheciam. Isso poderá ajudá-los em etapas futuras!
Após o fim da etapa, os petianos revelaram aos competidores que havia um segredo em um dos desafios. As três primeiras equipes que conseguissem descobrir esse segredo, poderiam realizar uma etapa especial: uma caça-ao- tesouro!
As equipes que se classificaram para a etapa especial foram: “El Psy Code”, “?” e “Sadbois”. A etapa especial consistia em encontrar petianos em determinados locais. O C.A. Rural foi o primeiro ponto, onde cada grupo deveria escolher um envelope, redirecionando-os para um dos três grupos pesquisa escolhidos: GRIFE, GrIA e GPoPAI. Por fim, o primeiro grupo que chegasse à sala do PET ganharia um vale da loja de jogos STEAM para cada integrante. A equipe “?” foi a vencedora. Parabéns a todos!
Abaixo estão os arquivos contendo sugestões para a resolução dos três desafios:
Desafio 1 – Loki
Desafio 2 – Sisifo
Desafio 3 – Filosofos
ETAPA 2 (27/09) – O desafio agora é outro
No dia 27/09/2017 foi realizada a etapa 2 do BXComp, também propondo três desafios, valendo 12 pontos cada como na etapa anterior.
Nesta etapa, os competidores deveriam resolver três desafios: Controlando Vagões, Identificando Tautogramas e Festivais. O primeiro desafio necessitou de conhecimentos matemáticos básicos para o tratamento de diversos casos de teste. Basicamente, deveria ser feito um programa que indicasse a lotação do vagão de um trem em cada estação que este passasse. Como de costume, várias submissões foram feitas com erros de apresentação, e apesar de aparentar ser um problema fácil, os competidores disseram ter maiores dificuldades neste. Houveram algumas dúvidas quanto ao uso do método Math.Floor retornar um double e mesmo assim o casting para int ter que ser feito. Esse realmente foi o intuíto do exercício: o aprendizado de um novo método da biblioteca Math.
O segundo desafio consistia em identificar tautogramas, que são uma forma de aliteração onde todas as palavras em uma sentença começam com a mesma letra. Trata-se de um problema de manipulação de strings, o qual foi resolvido com certa facilidade pela maioria dos competidores. Apesar disso, muitos submeteram o desafio com erros de formatação ou colocaram algo que não deviam no código. Os participantes devem dar muita atenção para caracteres como “;”, “{” ou “}” sobrando ou faltando no código. E lembrem-se sempre de nomear a classe de maneira correta! Erros como este foram frequentes nos três desafios com a maioria das equipes. Além disso, as classes não devem possuir packages.
O terceiro e último desafio também tinha certos conceitos matemáticos envolvidos. Dado um inteiro positivo, representando um ano, os participantes deveriam escrever um programa que classificasse tal ano de acordo com alguns critérios. Ao contrário dos demais, para este desafio foi disponibilizado um código incompleto e cheio de erros para que os competidores arrumassem. Claro, havia a possibilidade de cada equipe construir o seu código do zero.
Lembrem-se de estudar durante a semana os tópicos abordados, não só nessa etapa, mas também durante as etapas passadas, pois assuntos anteriores podem voltar a aparecer. Boa sorte!
Abaixo estão os arquivos contendo sugestões para a resolução dos três desafios:
Desafio 1 – Vagões
Desafio 2 – Tautogramas
Desafio 3 – Festivais
ETAPA 1 (20/09) – Agora é pra valer!!!
A etapa 1 do BXComp 2017, realizada na última quarta-feira, contou com a presença de grande parte dos inscritos e foi a primeira a propor um total de três desafios. No início da etapa os competidores foram relembrados de que, a partir dessa, cada etapa vale 12 pontos e os outros critérios avaliados, como tempo e submissões erradas, serão contabilizados.
Os desafios dados aos competidores foram: Rotas, Pesquisa de Satisfação e Sudoku. O primeiro era baseado em um tratamento da entrada, que continha cada caso de teste presente em uma única linha da entrada. Por meio do número inteiro que inicializava cada caso de teste, este servia de apoio para que cada instrução fosse analisada e traduzida separadamente. Muitas equipes mostraram facilidade em resolvê-lo, apesar de algumas submissões conterem erros de apresentação parecidos com os vistos na etapa zero (como quebra de linha faltando ou a mais).
O segundo desafio tinha muitas semelhanças, retirando-se o contexto, com Rotas. Novamente pedia que se analisasse uma entrada que estava condensada em uma única linha para cada caso de teste, contudo, dessa vez não era fornecido um contador do número de caracteres para serem analisados que estavam contidos na linha. Para tal, uma solução seria armazenar o caso de teste em uma variável do tipo String e após armazenar num array os votos individuais por meio do método .split() (usando um espaço simples como delimitador).
O desafio Sudoku era o que mais aparentava apresentar uma dificuldade maior, pois era o mais trabalhoso. Ele exigia que, de fato, cada linha, coluna e região fosse analisada de acordo as regras dadas no enunciado. Com a complexidade do problema, um considerável número de submissões foram avaliadas com Wrong Answer.
Ao fim, a disputa pela liderança está bastante acirrada entre diversas equipes. O grupo PET-SI parabeniza todas as equipes pelo desempenho e deseja sorte nas próximas etapas!
As sugestões de resolução são dadas a seguir:
Desafio 1 – Rotas
Desafio 2 – Pesquisa
Desafio 3 – Sudoku
ETAPA Zero (13/09) – FOI DADA A LARGADA!
Aconteceu na última quarta-feira de setembro (13/09), a etapa “zero” do BXComp 2017. A etapa contou com a presença das equipes inscritas no campeonato e também com a ilustre presença dos professores Alexandre Freire, Fábio Nakano, Flávio Coutinho e Luciano Digiampietri. Antes do começo do campeonato, os professores mencionados conversaram com os alunos e ressaltaram a importância da participação dos calouros no campeonato. Em seguida, os petianos explicaram como é realizada cada etapa e falaram sobre a utilização do sistema BOCA.
Na etapa, foram propostos os seguintes desafios: “Coeficiente Binomial” e “Crescimento Populacional”. O primeiro tinha como objetivo implementar a fórmula do Coeficiente Binomial. Já o segundo desafio buscava estudar o crescimento populacional de dois municípios e determinar o tempo necessário para que a população de um município ultrapasse o do outro.
Na resolução do primeiro desafio era necessário implementar uma fórmula fornecida no desafio. Quanto às respostas, os erros mais comuns estavam relacionados à apresentação delas, geralmente com espaços a mais, falta ou excesso de quebras de linha.
Lembrando que os desafios são julgados esperando a saída da forma exata como foi especificada no seu enunaciado.
Na resolução do segundo desafio era necessário identificar o seu contexto. Apenas o crescimento anual seguia uma progressão aritmética (PA), sendo isso, um dos problemas encontrados na interpretação do desafio. Outra dificuldade encontrada foi não parar a execução do programa quando o contador de anos ultrapassasse 100 anos. Algumas dicas importantes para a próxima etapa são:
• Ler e entender a resolução dos desafios, que estarão, em breve, disponíveis no site do BXCOMP 2017.
• Durante a etap, ler todos os desafios e os códigos entregues antes de começar a resolve-los, a ordem de resolução pode influenciar em seu desempenho.
• Durante a etapa, testar o código em sua máquina, antes de submeter no BOCA, pode te ajudar a perceber quais são os erros.
• Buscar entender bem o problema e todos os seus casos de teste é essencial para a resolução do desafio.
Por fim, é importante ressaltar que nessa etapa, que serviu como aquecimento, cada equipe presente recebeu 4 pontos de participação. A próxima etapa valerá 12 pontos divididos igualmente entre os desafios propostos. Nas próximas etapa, não forneceremos explicações como o fizemos na etapa 0, então discutam o que aconteceu na etapa 0 com os membros da sua equipe para que estejam bem preparados. Boa Sorte!
Seguem abaixo os links com uma das possíveis soluções de cada desafio:
(Clique no nome do desafio para baixá-lo)