Re: Клетки с числами
От: Кодт Россия  
Дата: 08.03.05 23:00
Оценка:
Здравствуйте, slavaak, Вы писали:

S>1) Имеется попрямоугольное поле из клеток размером, скажем, m*n. В некоторых клетках расположены числа. Все числа, кроме единиц, имеют пары, и эти пары соединяются линией;

S>2) Количество клеток в линии вместе с концевыми равно числам на её концах;
S>3) Клетки, содержащие единицы, являются папой самим себе и представляют линию длиной в одну клетку;
S>4) Клетки, соединяющие пары, могут преломляться по горизонтали и вертикали

Каждой клетке с числом k соответствует ромб из 4k-4 клеток, удалённых от неё на расстояние k-1. Среди них и нужно искать кандидатов в пару к ней.

S>5) Линии, соединяющие пары, не могут пересекаться и проходить через одну и ту же клетку.


После того, как найдены пары клеток, — решается задача, похожая на задачу о разводке печатной платы.

S>Требуется найти и закрасить все эти линии, чтобы получить картинку.


Это что, новая версия японского кроссворда? Или есть какое-то практическое применение?

S>Для 1-й, 2-х и 3-х клеток алгоритм, в принципе, понятен. Хотелось бы более или менее общий алгоритм для произвольного числа клеток.


Сдаётся мне, даже для поля, содержащего только числа 1 и 2, получается NP-полная задача. А именно, это задача о построении гамильтонова пути в графе.
Впрочем, надо тщательно поразмыслить.
Перекуём баги на фичи!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.