thiagowfx's avatar

¬ just serendipity 🍀 (not just serendipity)

Ontem: Maratona de Programação

• 1514 words • 8 min • updated

Ontem (14/09/2013) foi a fase subregional brasileira da Maratona de Programação. É uma data bastante esperada, muito mais do que o Rock @ Rio (por quem? xD). E mais animada também haha. Gosto é gosto. Não costumo falar muito sobre mim, mas vou abrir uma exceção dessa vez, afinal, a Maratona não acontece todo dia :D (adicionar à TODO list: parar de escrever emoticons em posts do Wordpress, isso aqui não é Twitter nem Facebook ^^). Por sinal, o título desse post parece mais um título de vídeo de YouTube do que outra coisa.

Maratona de Programação

Caramba, em primeiro lugar, e voltando um pouquinho no tempo, quase que eu não faço essa prova esse ano. Foi um ano um pouco confuso, eu estava com uns planos um pouco incertos, como entrar na empresa júnior da minha universidade, ser monitor de Programação de Cálculo, aprender mais sobre algumas coisas de GNU/Linux, ler alguns livros que me interessavam (interessam), idem para séries, resumindo: planejar fazer coisas demais duma vez só, num espaço de tempo relativamente curto =P. O que nunca – como você pode perceber – dá certo, por experiência.

Bom, prioridades sendo agitadas aqui e ali, acabou que eu decidi fazer a prova. Talvez tenha treinado um pouco menos do que poderia por causa disso, mas resolvi levar isso adiante.

Agora, voltando bem mais no tempo, quem sou eu, onde eu estou??? Lembro-me de estar no CEFET, fazendo pela primeira vez a prova da OBI, tendo decidido isso de última hora no meio de um encontro do PIC aleatório da OBMEP, porque um amigo me contou. Aquela prova foi engraçada. Eu nunca tinha estudado para a OBI, eu mal sabia o que era aquilo. Eu simplesmente resolvi fazer a prova por impulso. E eu só decidi isso porque sabia (ou melhor: achavaque sabia) Cque tinha aprendido sozinho 1 ano e meio atrás em relação a essa época. Foram 5 horas (acho que era isso, talvez 4 horas e meia, enfim) olhando para o computador e para as folhas de rascunho alternada e incessantemente tentando modelar e resolver os problemas. Problemas bem fáceis, por sinal, para um estudante típico de ensino médio um pouco mais maduro com a coisa do que eu. Mas não importa, eu era noob, estava tentando aplicar meus conhecimentos de C =P

E foi legal. Naquela época, eu estava muito acostumado a passar os sábados fazendo provas de 5 horas. Mesmo sem saber nada em algumas delas =P. Naturalmente, isso inclui a única vez que consegui fazer (passar para a! Talvez seja mais preciso hehe) a 3ª fase da OBM. Eram várias olimpíadas científicas diferentes. Época boa. Sinto falta desse tipo de competição na facul.

Então, depois desse dia eu resolvi que ia fazer a prova da OBI de novo. E até fiz. Mas isso é outra história. Estamos falando (estamos???) de Maratona. Ah, essa volta no tempo toda pra quê??? Cara, naquela época eu JAMAIS, anota aí, JAMAIS achava que seria capaz de fazer uma prova nesse estilo (naturalmente, eu não sabia muito bem o que era essa competição, mas sabia que ela era difícil o suficiente de modo que não era qualquer um que fazia ela, diferentemente de olimpíadas científicas. Sim, eu estou dizendo que hoje em dia as olimpíadas se expandiram pra caramba, o que tem alguns lados bons e lados ruins. Têm lados ruins sim. Mas isso é outra história.). E, 3 anos depois, cá estou eu fazendo essa prova pela segunda vez. Segunda. Pra quem achava que não ia fazer nada, parece jogo. E, sinceramente, apesar de não ter obtido nenhum resultado excepcional (ainda, um dia chego lá =P), acho que obtive resultados razoavelmente bons, pelo menos relativamente ao meu contexto e à minha dedicação / esforço / experiência.

Então, essa viagem toda. Vamos falar da Maratona. Ontem foi um dia legal. A Maratona não é (apenas) resolver uns problemas de forma monótona. A Maratona é, também (e talvez acima de tudo) amadurecer a forma de pensar e ver (e sentir: mentira, filosofia nada xD) as coisas e também de trocar ideias com pessoas que você considera boas e cheias de potencial. É aprender e ensinar. É evoluir. (Eu falei mesmo sem filosofia?).

Hoje aconteceu uma coisa legal. E bastante inesperada também (por algum motivo as coisas mais legais sempre são as mais inesperadas…talvez faça parte da magia da coisa). A prova começou, cada um ia ler seus problemas, e eu estava dividido entre começar a ler os meus problemas e digitar o template básico do C++ e o .emacs. Aqui ou ali, aqui ou ali…hum, alguns poucos segundos depois, em vez de eu ter decidido o que fazer, uma (uma??? a) integrante do meu time me fala correndo que achou um problema fácil para resolver. Então eu paro tudo o que estou fazendo (não que tenha começado a fazer alguma coisa) e começo a tentar raciocinar e processar as coisas, é congestionamento de sinapses aqui e ali. Comecei a tentar me dividir, a ouvir o que ela me tinha a dizer sobre o que eu tinha que fazer e a digitar que nem um maluco e se acostumar com o teclado (já que no aquecimento ninguém usa o teclado de forma séria =P). Diga-me o que você faria se fosse um designer de notebook e tivesse que colocar as 4 setas direcionais num espaço de 3 teclas físicas. O que você faria??? Questionaria o líder desse projeto dizendo que isso é algo inaceitável ou o quê? Talvez simplesmente sugerisse para inserir as teclas /\ e / no mesmo espaço físico? “O show da ergonomia”. Sem comentários. Confesso que essa foi uma das poucas vezes até hoje que as combinações C-p, C-n e similares do Emacs foram úteis no sentido para o qual elas foram desenhadas na década de 80 (eu acho). “Se o seu shell não tiver as teclas direcionais, bláblá…”. Esse era um dos piores argumentos que eu ouvia para tentar convencer os outros a usar o Emacs. Argh. Afinal, quantos teclados hoje em dia que você vai usar serão ruins?? Mas pelo menos pela primeira vez isso se mostrou válido.

Caramba, eu não sei o que aconteceu, mas só sei que quando terminei de escrever, testei todos os casos de teste que nem um louco (uma sequência de keystrokes típica: C-x 3 C-x o 0 0 0 M-! RET C-a C-k 0 0 1 M-! RET […]) e então submeti o problema em um estado de sanidade similar. Pronto, problem sent.Ah, quando vi, caramba, AC em 2 minutos! (já que o judge não conta os segundos mesmo, pelo menos não visivelmente =P). Isso porque nós ainda testamos manualmente os 8 casos de teste. Isso ficou para contar história (deve ser por isso que estou escrevendo tanto haha). Não me pergunte quando isso vai acontecer de novo, foi completamente inesperado, mas já fiquei feliz por causa disso xD. Um super trabalho em equipe. Poxa, já escrevi tanto que até já me cansei. Nem contei o resto da tensão durante a prova hahaha. Vou ter que ficar devendo essa. A Maratona é uma forma de você se isolar da sua vida | seu mundo normal por uns 2 dias, o que faz muito bem mas, quando você volta, o contexto da faculdade volta junto, e então o estresse de sempre das tarefas de cada dia (o que é super normal e “faz parte”, é claro) vem acompanhado com ele. Ah, o conceito de isolar é um pouco mais forte do que parece. Se vivêssemos num mundo ideal, sábados e domingos seriam dias de isolamento da faculdade, ensino médio, trabalho, ou seja lá o que você faz. Mas, num mundo de hoje que eu gosto de chamar de mundo 3.0, isso não é verdade | bem assim. Os problemas, as tarefas, a rotina, não importa, tudo se mistura desde o fim de semana até durante os dias de semana. Simplesmente não dá para isolar as coisas. Agora, quando você vai pra longe de casa para fazer uma prova que você gosta e considera importante na sua vida, o isolamento do seu mundo corrente é natural e é algo muito bom, porque você fica com a cabeça preocupada com isso e, portanto, acaba se desconectando de sua rotina. A única possível exceção para isso (argh, mundo 3.1) é ter 3G no smartphone… ¬¬

Bom, ficamos no top 5 da nossa sede, dentre 20 times. Falando em 3G… (para bom entendedor,) sem comentários! OK, agora eu realmente vou parar por aqui. Não falei tudo o que eu queria (ou podia) – é claro –, mas falei boa parte disso. Resolvi não dividir esse post em Parte I e II porque não sei se vou postar uma continuação dele. Incerto. Como foi a decisão de fazer a prova esse ano, pelo menos no início do ano. Isso pelo menos para a Maratona desse ano…na do ano que vem, se esse blog ainda existir, certamente ainda terá mais posts ^^

(Só não posso terminar de fechar sem dizer que a experiência foi – sempre é! – bastante legal e boa!)

Obrigado por ler.