Всю ночь снилось, как собирала паззл, а потом придумывала алгоритм его сборки. До сих по придумываю.
оОоО
Каждый элемент представляет собой матрицу 3х3:
121
013
101
,где "1" - это как пустое место, т.е. учитывать следует только средние элементы; "0" - отсутствие выступа, то бишь крайний или угловой элемент; а каждый выступ и соответствующая ему впадина имеют свой уникальный номер, по которому мы их и соединяем. Таким образом, мы должны сравнивать средние элементы и, если они равны, записывать их вместе. Элементы с двумя "0" должны располагаться по углам, а с одним "0" около края. А дальше все просто: цикл на сравнение средних элементов, цикл на переворот матрицы, если это необходимо, и цикл на запись матрицы в новое место.
Да, а во сне алгоритм был несколько проще. У меня было 9 элементов последовательно записанных в цепочку. Я брала первый, сравнивала со вторым, если равен - выходила из цикла, если нет - сравнивала с третьим... Со мной все соглашались, но идею не поддерживали, мол, с больным не спорят оО