Como todos nas férias, as vacas jogam sua versão do jogo de palavras Boggle: Coggle. Nesse jogo semelhante, lançam-se 25 dados de letras em uma matriz como esta:
Z C C D X
K Q M N B
U O W Z Y
F C O I J
P A Q Z T
Formam-se palavras e ganham-se pontos começando em uma letra e seguindo para um de seus até oito vizinhos, até as letras sucessivas formarem uma palavra do dicionário.
Na matriz acima, o "$C$" inferior permite formar "CAP", "COW" e "COOK", mas não "COD" nem "PACK". A lista completa de palavras do dicionário para o quadrado é "CAP", "COOK", "COW", "OWN", "WIT", "WOO", "ZOO" e "ZOOM".
Seu programa deve ler o dicionário de dict.txt. Ele está em ordem alfabética e tem menos de 25,000 palavras, cada uma com no máximo 20 caracteres. O dicionário real é fornecido no anexo dict.txt e fica no diretório de trabalho durante o julgamento.
Ajude Bessie a ver seu resultado. Leia cinco linhas de cinco letras representando os dados e conte quantas palavras do dicionário podem ser formadas. Não use duas vezes a letra do mesmo dado em uma palavra.
Conte as palavras formáveis. Pode ser menos que o número de maneiras de formá-las, pois uma palavra pode ser formada de várias maneiras.
Entrada
- Linhas $1,\ldots,5$: a linha $i$ contém cinco letras maiúsculas separadas por espaços que representam a fileira $i$.
Saída
- Linha $1$: um inteiro, o número de palavras do dicionário que podem ser formadas pelas regras descritas.
Exemplos
Entrada 1
Z C C D X
K Q M N B
U O W Z Y
F C O I J
P A Q Z T
Saída 1
8
Créditos do problema: Traditional, 2009