Есть у меня решение нижеизложенной задачи, но уж больно оно не красивое, а хочется чего-то изящного, рационального и быстрого.
Задача:
Есть поле, состоящее из 19 шестигранников, распологающихся в след форме: http://img155.imageshack.us/img155/2292/43405000.jpg
Есть 5 различных красок. Необходимо его раскрасить так, чтобы краски в соседних шестигранниках не совпадали. Центральный шестиугольник имеет другую, отличную от предложенных красок раскраску.
Краски: Краски "a", "b" и "c" - по 4 штуки каждой. Краски "d" и "e" - по 3 штуки.
Требуется найти произвольное (рандомное) решение.
P.S. Сколько не продумывал вариантов. Но самым быстрым оказался вариант полного перебора с записью в файл. А в рантайме просто вытаскивать из этого файла необходимую комбинацию. Но давольно много мегабайтов такой файл занимает, даже если отсеч одинаковые (через поворот, а точнее 5 поворотов) комбинации.