No dia 12 de maio de 2017 ocorreu a XIX Olimpíada Brasileira de Informática, com isso faremos aqui um resumo das questões da prova da modalidade universitária.
No ano de 2017 houve mudanças em relação ao número de questões e o tempo de duração de aplicação da prova. A prova deste ano teve 3 questões e 2 horas de duração, já a de 2016 teve 5 questões e 5 horas de duração. No ano anterior o aluno tinha em 1 hora para resolver cada questão já este ano ele passou a ter 40 minutos, por outro lado o número de questões do ano anterior é maior e isso implica em um maior desgaste do aluno no final da prova. Já este ano o número de questões foi menor assim não havendo tanto desgaste do aluno no final da prova.
Game-10, Palíndromo e Botas Trocadas estes são o nome das questões deste ano, cada uma aborda um tema diferente, sendo que o Game-10 aborda mais o conceito matemático, o Palíndromo aborda a manipulação de string e o Botas Trocadas aborda problemas de contagem.
Game-10
O segredo do game-10 está em descobrir se a posição do avião é maior ou menor que a posição do disco voador. O primeiro caso ocorre quando a posição do avião for maior que a posição do disco voador, neste caso, você deve subtrair a posição do avião pelo número de posições e depois somar com a posição do disco voador. No segundo caso a posição do avião for menor que a posição do disco voador, neste caso você simplesmente deve subtrair a posição do avião pela posição do disco voador.
Palíndromo
Pois bem a questão de maior dificuldade da prova (ou não). Nesta questão temos que verificar o número mínimo de palavras palíndromas em uma cadeia de caracteres. Uma solução para essa questão seria separar todas as substrings palíndroma, após essa divisão você concatenaria as maiores substrings de forma que os mesmos caracteres não se repita e no final dessa concatenação obtenha uma string igual a original. A partir desse processo é só utilizar um contador para contar as strings utilizadas na concatenação.
Botas Trocadas
O seu objetivo em Botas Trocadas é dizer quantos pares de botas (de mesmo tamanho) temos em uma determinada quantidade de botas. Para esse problema pode se criar dois vetores, um para o lado esquerdo e o outro para o direito, os índices será o tamanho das botas, e para cada valor lido adicionarmos na posição do vetor (para isso ambos vetores tem que estar zerado). Por fim é só fazer somatório de todas posições dos dois vetores com menor valor.
Nenhum comentário:
Postar um comentário