Тема. Напишите программу, которая по исходным данным m и n строит прямоугольный лабиринт m?n (проверьте, допустимы ли заданные тип). Предусмотрите, чтобы программа при каждом обращении к ней порождала разные лабиринты. Лабирипг должен иметь единственное решение, и, чтобы получившийся лабиринт был интересным, все ячейки должны быть соединены с основным путем, дающим решение. Если в вашем распоряжении имеется хорошее графическое устройство, используйте его для изображения лабиринтов, в противном случае придумайте систему обозначений для записи лабиринтов или выводите лабиринты на АЦПУ. Указания исполнителю. Теоретически нельзя удовлетворить требованию, чтобы любые два лабиринта (даже при одинаковых m и n) были различны, поскольку существует лишь конечное число лабиринтов любого наперед заданного размера, а программу можно вызвать большее число раз. Однако число лабиринтов какого-нибудь размера очень велико, и поэтому вероятность повторения лабиринта можно сделать очень маленькой. Практически это достигается, если программа будет производить «случайный» выбор различных вариантов, опираясь на какое-либо доступное ей, но неуправляемое значение (обычно берут дату и время вызова программы). Варианты, между которыми выбирает программа, это, например, положение входа и выхода и положение хотя бы нескольких внутренних разрушаемых стенок. При отладке разумно будет отключить механизм случайного выбора, чтобы изменения результата работы вызывались только изменениями самой программы. Один из возможных подходов к решению таков. Выбираем вход; затем, начав от него, добавляем по одной ячейке к главному пути-решению, пока он не достигнет выходной стороны. После этого удаляем некоторые внутренние стенки так, чтобы все клетки оказались соединенными с главным путем. Чтобы главный путь не получился прямым коридором, следует при его построении предусмотреть случайные повороты. Программа должна также следить за тем, чтобы при построении главного пути или при открытии боковых ячеек не нарушалась единственность решения.
Станислав
СПБГЛТУ им С.М.Кирова
Спасибо большое за курсовую работу! Все замечания были исправлены за сутки. Рекомендую спе...
Анастасия
вгу
Исполнитель отлично справился с заказом. Рекомендую) Обращусь со временем еще раз)
Дарья
МЭСИ
Огромное спасибо за работы, автора смело рекомендую. Дарья справляется даже со сложными пр...
Анастасия
ТОГУ
Светлана очень помогла мне, вошла в положение и сделала курсовую раньше срока, помогала из...