1.Сгенерировать программным кодом лабиринт (массив) 13 на 13, в котором присутствуют проходы, стены и ограничения, заданные случайным образом.
2. Сгенерировать множество S{s1,s2,s3,…,sn} предметов внутри лабиринта.
3. Предметы не могут быть сгенерированы на месте существующих стен или ограничений.
4. Для обозначения границ, стен и предметов можно использовать любые подходящие unicode символы
5. Задать начальную точку A для движения, поиска и сбора предметов. Координаты предметов из п.2 в точке A неизвестно.
6. Обойти лабиринт кратчайшим путем и собрать все предметы
7. Вывести на экран:
7.1 Лабиринт с предметами
7.2. Маршрут движения по координатам x,y (строка, столбец).
7.3 Количество шагов движения.
8. Если проход из точки A к какому-либо предмету отсутствует, например, предмет находится за 4 стенами, то пропустить сбор данного предмета.
9. Если из точки А движение невозможно, то остановить поиск и вывести результат сбора объектов.
10. Программа должна иметь возможность настройки “плотности застройки” лабиринта.
11. Написать отчет с пояснениями, схемами, рисунками и кодом, реализующий данный алгоритм