Jogo dos Pinos

Jogo dos Pinos

The mission is in Blocked Mode. Access to the solutions is blocked for a day or two (even after you share your own), until we'll have enough solutions for you to check. All users who've solved the mission will get the notifications about their opening.

Retirado da OBI Nível Júnior de 2020

Verificação de Aprendizagem: Avalie sua compreensão. Tente resolver sem consultar materiais, usando apenas seu conhecimento. Identifique áreas que precisam de revisão.

Enunciado

O Jogo dos Pinos é um quebra-cabeça que consiste em um tabuleiro com furos em forma de cruz, inicialmente preenchido com pinos, exceto por um furo vazio no centro.

example

O objetivo é realizar movimentos válidos para remover os pinos até restar apenas um.

example

Um movimento é válido se um pino (pivô) puder pular sobre um pino adjacente (alvo) em direção a um furo vazio (destino), removendo o pino alvo. Dada uma configuração do tabuleiro, seu programa deve determinar o número de movimentos válidos possíveis.

Entrada Uma lista de 7 strings, cada uma representando uma linha do tabuleiro. Cada string contém exatamente 7 caracteres, sendo '-' (hífen) nos dois primeiros e dois últimos caracteres das linhas 1, 2, 6 e 7, 'o' (letra o minúscula) representando um pino, ou '.' (ponto) representando um furo.

Saída: Um inteiro representando o número de movimentos válidos na configuração do tabuleiro fornecida.

Example:

    jogo_dos_pinos([
    "--ooo--",
    "--ooo--",
    "ooooooo",
    "ooo.ooo",
    "ooooooo",
    "--ooo--",
    "--ooo--"
]) >> 4

jogo_dos_pinos([
    "--.o.--",
    "--o.o--",
    "....o..",
    "....o..",
    "o.o.o..",
    "--o.o--",
    "--o.o--"
]) >> 2

Habilidades

  • Raciocínio Lógico Avançado
  • Iteração Avançada