Здравствуйте.
Возникла необходимость сгенерировать полную выборку возможных вариантов "закраски" матрицы графами.
А точнее их связывания в различных последовательностях. Графы представляют собой ориентированные цепочки.
То есть нужно найти все возможные варианты цепочек элементов, при условии что графов:
а) может быть произвольное количество.
б) "длина" цепочки элементов может варьироваться.
в) матрица произвольного размера, но всегда квадратная.
г) связывать можно только стоящие "рядом элементы" по x или y, никаких диагоналей.
Прошу помощи в поиске оптимального алгоритма, или хотя бы рабочего, для которого можно доказать что полученная выборка будет полной.
UPD: немного переформулирую: нужно найти все варианты связывания элементов в цепочки. (минимум по 2 элемента, дабы сократить количество вариантов)
Для 2х2
Соответственно для 3х3 и более разница будет в том, что цепочки могут быть сложных форм и разных длинн. И разного количества, в каждом варианте.