Кстати, ты исправил такой вот баг?
Когда картинка может иметь несколько решений (как твоя первая
), то приходится их перебирать, пока не будет найдено "верное".
Решения отличаются всего парой рядом стоящих пикселей, но всё равно противно
Посему, условие победы должно быть не в совпадении ячеек, а в совпадении верхних описателей с нижними, а левых с правыми.
Либо ввести контроль качества по недопущению неоднозначных картинок
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас