Stairway to Deven: a maratona do caos

Правка en4, от matheusazevedo, 2024-04-30 22:50:53

Nessa sexta (26/04), participamos da nossa primeira competição fora de casa: a Stairway to Deven, da UFSC. Foi um evento caótico, mas nos saímos bem – ainda que tenhamos perdido uma questão por não saber imprimir um float com dois pontos de precisão usando cout (emoji de caveirinha).

Nesse dia, Jota nos surpreendeu com um presente incrível: bottons com nossa logo, um Lambda com marca de batom. Atrás de nós, a faixa anunciando a greve dos servidores Técnico-administrativos em Educação (TAEs).

Era uma competição de calouros e, para isso, a UDESC mandou quatro times que competiram além dos veteranos do Brute que foram nos dar apoio (e carona de volta para a universidade).

O evento em si foi um caos completo, começando pelo local e hora da prova: nas escadas do hall da UFSC ao meio-dia. Sim, o local da prova era uma escadaria e ela aconteceu em um momento de alta circulação de estudantes. Além disso, organização do evento disponibilizou apenas uma cadeira para cada equipe de três pessoas, mas esclareceu que “os demais participantes podem sentar nas escadas ou ficar por aí para discutir as soluções”. Achei inusitado. Para completar, se não bastasse estarmos em um local barulhento e movimentado, a prova ainda envolvia uma banda tocando ao vivo, um verdadeiro teste de foco e concentração.

Quanto às questões, eram cinco, das quais duas estavam erradas.

A) Dados dois números, c e n, perguntava o que era maior, c^n ou n!. Como c e n poderiam ser números até 10^9, não é possível calcular c^n e n! para comparar os resultados. Sabendo disso, eu inferi que deveria haver alguma regra que poderia ser usada para identificar qual era maior sem ter que fazer as contas. Então comecei a jogar números na calculadora para ver se encontrava algum padrão. Cheguei na hipótese de que se n > 2c, n! > c^n. Codei essa solução e fomos a única equipe a passar essa questão. Aparentemente, esse meu processo de jogar números na calculadora até chegar num padrão foi o que quem criou o problema fez porque nós dois chegamos na mesma solução errada. Como bem notado pelo emoreira, existem casos em que essa regra falha. Um exemplo que ele encontrou é para c = 10 e n = 22. Nesse caso, n é maior que 2c, mas c^n > n!.

B) Provavelmente a mais difícil da prova. Eu acho que conseguiríamos resolvê-la, mas não tivemos tempo nem de começar a tentar.

C) A segunda mais fácil da prova, envolvia descobrir a área de um círculo circunscrito em um quadrado. Assim que lemos o enunciado, o Jota ficou encarregado de fazer as contas para chegar na resposta enquanto o Rian e eu tentávamos, cada um de um jeito, encontrar a solução para o problema A. Quando o Jota acabou as contas, exclamou “Não faz sentido, a área do círculo tá dando maior do que a área do quadrado!”. Ele estava usando a fórmula do comprimento da circunferência para calcular a área do círculo… Depois de perceber o engano e usar a fórmula certa, escrevemos o código com a solução que ele encontrou faltando 6 segundos para o fim da prova. Mas ainda tínhamos um problema: nós não sabíamos como imprimir um float com duas casas de precisão usando cout (o que era exigido pela questão)… Trocamos o cout por printf, mas era tarde demais. Fizemos a questão, chegamos na solução correta, mas não conseguimos enviar o código. Isso nos custou, no mínimo, o terceiro lugar. Acabamos em sexto.

D) Era a mais fácil, basicamente, bastava contar quantas vezes uma letra aparecia em uma string. Quase todo mundo fez essa.

E) Essa questão foi anulada assim que o contest começou pois ela estava com problema.

Ou seja, duas das cinco questões da prova estavam erradas. A cereja do bolo é que a prova foi realizada no beecrowd (fato que provavelmente fala por si mesmo). Essas duas coisas, juntas, somaram ao clima caótico do dia.

Na foto, eu, jogando números na calculadora tentando encontrar um padrão para a questão A, Rian, tentando lembrar como fazia fatorial recursivo e Jota, focado usando a fórmula da circunferência para encontrar a área do círculo.

Cometemos alguns erros, é verdade, acho que poderíamos ter conseguido uma colocação melhor. Mas eu estou muito contente com o nosso resultado e, principalmente, com a forma como nós nos dividimos para fazer as tarefas. No blog anterior, eu contei sobre um desempenho ruim que tínhamos tido em função de, o que concluí como, falta de organização. Nós conversamos sobre isso e nos propusemos a experimentar fazer essa prova de um jeito diferente e funcionou! Saí bastante satisfeito – ainda que um pouco frustrado por não ter tido tempo de enviar aquela última questão.

Na foto, as equipes “Tu computas” e “Programação Funcional e Beijo na Boca”.

Quando ficamos sabendo que não haveriam cadeiras para todo mundo e que a prova aconteceria numa escadaria, o Rian quis desistir de ir para ficar na UDESC e participar de forma online, mas eu insisti para que fossemos mesmo assim – e acho que foi uma boa. Eu penso mesmo que tudo passa muito rápido, o que fica (quando fica) são as memórias. E é por isso que escrevo esse blog, porque sei que em alguns, breves, anos mesmo os acontecimentos mais ordinários terão se forjado em preciosos vislumbres de uma outra vida. Em pouquíssimo tempo, as fotos de ontem serão portadoras de uma entorpecente nostalgia. Penso que passar perrengue por uma hora é um preço pequeno a pagar para poder contar a história da vez em que participamos de um contest na escada.

Agradeço a companhia dos amigos, fui muito feliz no caos da escadaria do hall da UFSC.

Теги brute, udesc

История

 
 
 
 
Правки
 
 
  Rev. Язык Кто Когда Δ Комментарий
en4 Английский matheusazevedo 2024-04-30 22:50:53 2 Tiny change: 'nica equipa a passar ' -> 'nica equipe a passar '
en3 Английский matheusazevedo 2024-04-30 19:46:01 164 (published)
en2 Английский matheusazevedo 2024-04-30 19:26:44 0 (saved to drafts)
en1 Английский matheusazevedo 2024-04-30 19:24:16 5792 Initial revision (published)