Входные данные:
Матрица, содержащая целые числа в диапазоне [0 - 9] .
Вызов:
Определите, все ли ненулевые элементы связаны друг с другом по вертикали и / или по горизонтали.
Выход:
Значение truthy , если все они связаны, и falsy значение , если есть ненулевые элементы / группы, которые не связаны с другими элементами / групп.
Тестовые случаи:
Тестовые случаи разделены линией. Тестовые случаи могут быть найдены в более удобных форматах здесь ( слава к Дада ).
Следующие все связаны и должны возвращать истинное значение:
0
---
0 0
---
1 1 1
0 0 0
---
1 0 0
1 1 1
0 0 1
---
0 0 0 0 0 0
0 0 3 5 1 0
0 1 0 2 0 1
1 1 0 3 1 6
7 2 0 0 3 0
0 8 2 6 2 9
0 0 0 0 0 5
Следующие элементы не связаны и должны возвращать ложное значение:
0 1
1 0
---
1 1 1 0
0 0 0 2
0 0 0 5
---
0 0 5 2
1 2 0 0
5 3 2 1
5 7 3 2
---
1 2 3 0 0 5
1 5 3 0 1 1
9 0 0 4 2 1
9 9 9 0 1 4
0 1 0 1 0 0
Это код-гольф , поэтому выигрывает самая короткая подача на каждом языке. Пояснения приветствуются!
Вдохновленный этим вызовом .