Entrada
Uma matriz binária não vazia que consiste em sub-matrizes 3x3 colocadas lado a lado.
Tarefa
Sua tarefa é identificar padrões de dados válidos (conforme descrito abaixo) entre as sub-matrizes 3x3. Cada padrão válido vale o valor dos dados correspondentes. Padrões inválidos valem 0.
Saída
A soma dos valores válidos dos dados.
Padrões de dados
Exemplo
O resultado esperado para a matriz a seguir é 14 porque contém os dados 5 , 6 e 3 , seguidos por um padrão inválido (da esquerda para a direita e de cima para baixo).
Regras
- A largura e a altura da matriz são garantidas como múltiplos de 3.
- Você deve ignorar as sub-matrizes que não estão alinhadas corretamente na grade (consulte o terceiro caso de teste). Mais formalmente e assumindo a indexação 0: as coordenadas da célula superior esquerda de cada sub-matriz a ser considerada têm a forma .
- Isso é código-golfe .
Casos de teste
// 0
[ [ 1,0,0 ],
[ 0,0,1 ],
[ 1,0,0 ] ]
// 2
[ [ 0,0,1 ],
[ 0,0,0 ],
[ 1,0,0 ] ]
// 0 (0 + 0)
[ [ 0,0,1,0,1,0 ],
[ 0,0,0,1,0,0 ],
[ 0,0,1,0,1,0 ] ]
// 9 (3 + 3 + 3)
[ [ 1,0,0,0,0,1,1,0,0 ],
[ 0,1,0,0,1,0,0,1,0 ],
[ 0,0,1,1,0,0,0,0,1 ] ]
// 6 (6 + 0)
[ [ 1,0,1 ],
[ 1,0,1 ],
[ 1,0,1 ],
[ 1,0,1 ],
[ 1,0,0 ],
[ 1,0,1 ] ]
// 14 (5 + 6 + 3 + 0)
[ [ 1,0,1,1,1,1 ],
[ 0,1,0,0,0,0 ],
[ 1,0,1,1,1,1 ],
[ 1,0,0,0,0,0 ],
[ 0,1,0,0,1,0 ],
[ 0,0,1,0,1,0 ] ]
// 16 (1 + 2 + 3 + 4 + 0 + 6)
[ [ 0,0,0,1,0,0,1,0,0 ],
[ 0,1,0,0,0,0,0,1,0 ],
[ 0,0,0,0,0,1,0,0,1 ],
[ 1,0,1,1,1,1,1,0,1 ],
[ 0,0,0,1,0,1,1,0,1 ],
[ 1,0,1,1,1,1,1,0,1 ] ]