Solução Informática – Nível Intermediário – Semana 17

por

Solução por Anita Ramos

Esse é um típico problema de olimpíada que exige mais o pensamento lógico e o estabelecimento de uma estratégia do que necessariamente comandos mais complexos e avançados. A solução a seguir segue essa ideia de que uma boa lógica pode resolver o problema.

A ideia consiste em armazenar os caracteres em uma matriz de $$char$$ e posteriormente percorrer esse tabuleiro (matriz) de acordo com a paridade de cada linha. Assim, em linhas ímpares se lê da esquerda para a direita e em linhas pares se lê da direita para a esquerda. Durante essa análise, se o caractere for $$o$$, ele soma 1 à $$cont$$ e se for $$A$$, ele zera a variável $$cont$$. Por fim, ele calcula o máximo entre a resposta anterior, $$res$$, e a variável $$cont$$.

Apenas como observação, os comandos utilizados variam entre $$for()$$, $$if/else$$, $$scanf()$$, $$printf()$$, entre outros, considerados mais básicos, reforçando a simplicidade do código.

Segue o código comentado para melhor compreensão da solução:

https://gist.github.com/anitainfo/f460c71f4a98e82ba117c7de30584edf