Solução Informática - Nível Intermediário - Semana 8

Solução por Anita Ramos

Para este problema utilizaremos a ideia de vetor de marcação, para diminuir a sua complexidade e não exceder o seu tempo limite. Essa mesma ideia pode ser aplicada para vários outros problemas, contribuindo para um programa mais rápido e possivelmente mais eficiente para o que estamos buscando.

Iniciando a programação então, após adicionar a biblioteca, declarar 3 vetores zerados e declarar as demais variáveis, o programa lê o primeiros valor de entrada N e a partir dele entramos em um loop para ler as próximas N linhas de entrada.  Dentro desse loop também já determinamos qual a peça inicial, imprimimos sua letra, definimos seu lado direito como padrão e, para todas as peças, estabelecemos um vetor de marcação para o valor do seu lado esquerdo baseado no seu índice i. Esse vetor facilitará no processo de "encontrar a peça que corresponde ao padrao". Assim, no próximo e último loop (que funciona até imprimirmos a palavra inteira - 1, já que a primeira letra já foi), i assume o valor do vetor de marcação do padrao, que nada mais é que o valor o qual estamos procurando, padrao assume o valor do lado direito da peça de índice i e imprimimos a letra dessa mesma peça.

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