Прислали мне тестовое, скорее всего, не сделаю, но интересно стало. Не могу найти информацию по алгоритму поиска решения головоломки пентамино - на вход поступает законченная фигура в виде текстового файла из нолей и единиц, на выходе нужно разбить эту фигуру на части заданными деталями. В общих чертах, кажется, нужно следующее: сделать рекурсию до тех пор, пока неразбитая часть не равна одной из элементарных фигур, а если она не равна, то, начиная с, допустим, левого верхнего угла подставлять любую фигуру, затем: если она не подходит, переходим к следующей, если подходит, начинаем разбивать то, что получилось в результате. Если в конце концов получается фигура, не соответствующая ни одной из элементарных, идем на шаг назад и ставим другую фигуру(нужно хранить id фигуры, примененной на прошлом шаге - т.к. рекурсия, можно хоть до первого шага подняться). Только кажется, что такой перебор с возвратом может никогда не найти нужное решение. Кажется, должен быть стандартный алгоритм, который нужно адаптировать к этому случаю. Никто не знает, какой?

Ответ на:
комментарий
от i-rinat

Ответ на:
комментарий
от wingear

Ответ на:
комментарий
от wingear

Ответ на:
комментарий
от trashymichael

Ответ на:
комментарий
от i-rinat

Ответ на:
комментарий
от wingear

Ответ на:
комментарий
от i-rinat

Ответ на:
комментарий
от wingear

Ответ на:
комментарий
от i-rinat

Ответ на:
комментарий
от wingear

4 ноября 2013 г.

Вы не можете добавлять комментарии в эту тему: топик перемещен в архив.
Похожие темы
- Галерея Celestia и четыре планеты (2025)
- Форум Плохая ли практика в h прописывать логику а потом дергать её в других местах программы? (2024)
- Форум Отличия C и C++ (2024)
- Форум Автор whisper.cpp ищет сопровождающих (2025)
- Форум С++ - шаблон проекта для тестовых заданий и простых экспериментов (2025)
- Форум C++ или PHP (2024)
- Форум Как решить проблему постоянного прописывания подключения БД? (2024)
- Новости whisper.cpp 1.7.4 (2025)
- Форум Размещение глобальных данных (2024)
- Форум Поделить канал между загрузками (2024)