вход
Непустая двоичная матрица, состоящая из 3x3 подматриц, расположенных рядом.
задача
Ваша задача состоит в том, чтобы определить допустимые образцы костей (как описано ниже) среди подматриц 3x3. Каждый действительный шаблон стоит значение соответствующей кости. Неверные шаблоны стоят 0.
Выход
Сумма действительных значений костей.
Образцы игры в кости
пример
Ожидаемый результат для следующей матрицы - 14, потому что она содержит кости 5 , 6 и 3 , за которыми следует недопустимый шаблон (слева направо и сверху вниз).
правила
- Ширина и высота матрицы гарантированно будут кратны 3.
- Вы должны игнорировать подматрицы, которые не выровнены должным образом в сетке (см. 3-й тестовый пример). Более формально и предполагая 0-индексирование: координаты верхней левой ячейки каждой рассматриваемой подматрицы имеют вид .
- Это код-гольф .
Контрольные примеры
// 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 ] ]