Нет стоп, что-то я не понял: если линия должна быть закрашена вся, причём каждая клеточка должна быть закрашена своей краской, отличной от других, то

? Или я что-то не так понял?
Нет, линия не должна быть закрашена вся
Приведу еще один пример:
Пусть есть 5 клеточек, две краски,

и

. Тогда есть варианты:
синей красим клетки [1,2] зеленой или [3,4] или [4,5]
синей красим клетки [2,3] зеленой [4,5]
синей красим клетки [3,4] зеленой [1,2]
синей красим клетки [4,5] зеленой или [1,2] или [2,3]
Итого 6 вариантов.
Вообще это задача возникла в программировании. Возможно у нее нет комбинаторного решения, тогда придется организовать полный перебор, что не хочется и вряд ли будет быстро работать.