XXVI Olimpíada Brasileira de Informática
Submeta sua solução

Nome do arquivo: pinos.x, onde x deve ser c, cpp, java, js ou py

Jogo dos Pinos

O Jogo dos Pinos é um quebra-cabeças que utiliza pinos e um tabuleiro com furos em forma de cruz. Inicialmente há apenas um furo vago, no centro do tabuleiro, e todos os outros furos contém um pino como mostra figura abaixo.

O objetivo do jogo é remover os pinos do tabuleiro de forma que reste apenas um pino. Para remover um pino é necessário fazer um movimento válido, que é definido da seguinte maneira. O jogador deve escolher um pino, chamado pivô, e uma das quatro direções (acima, abaixo, esquerda, direita) de tal forma que o pivô tenha um outro pino, chamado alvo, como vizinho imediato na direção escolhida e que o pino alvo seja seguido, também na direção escolhida, por um furo vago (chamado de destino). A figura abaixo mostra os quatro possíveis pivôs da configuração inicial do jogo.

O jogador pode então fazer o pino pivô pular sobre o pino alvo e ocupar o furo destino, removendo o pino alvo do tabuleiro. A figura abaixo mostra um exemplo (a) antes, (b) durante e (c) depois de um movimento válido.

Dada uma configuração de pinos em um tabuleiro, escreva um programa para determinar o número de movimentos válidos possíveis na configuração dada.

Entrada

A entrada é composta por sete linhas, cada linha com exatamente sete caracteres. A linhas são identificadas por números de 1 a 7. Os dois primeiros caracteres e os dois últimos caracteres das linhas 1, 2, 6 e 7 são '-' (hífen). Todos os outros caracteres são ou 'o' (letra o minúscula) representando um pino, ou '.' (ponto) representando um furo.

Saída

Seu programa deve produzir uma única linha, contendo um único inteiro, o número de movimentos válidos na configuração da entrada.

Restrições

  • A seção Entrada descreve as restrições.

Exemplos

Entrada
--ooo--
--ooo--
ooooooo
ooo.ooo
ooooooo
--ooo--
--ooo--
Saída
4
	

 

Entrada
--.o.--
--o.o--
....o..
....o..
o.o.o..
--o.o--
--o.o--
Saída
2
	

 

Tarefas Programação Nível Júnior
Promoção
logo sbc
Patrocínio
Apoio
Coordenação