Надо сгенерировать случайный маршрут ведущий из точки S в точку E и соответственно поменять элементы О на, пусть будет, Х.
Типо такого
S O O O O
Х O O O O
Х O O O O
Х O O O O
Х Х Х Х E
Знаем, что элементов всегда 25, в строке всегда 5 элементов и старт и финиш всегда в одном положении. Массив одномерный, но если необходим двумерный, то некритично.
Если будет решение сразу с кодом буду тысячу раз признателен.
И важное уточнение забыл, маршрут может быть диагональным
А-ля
S O O O O
O Х O O O
O O Х O O
O O O Х O
O O O O E
Путь нужен кратчайший или зигзаг допустим? Без самопересечений зотя бы (типа буква Р)? Путь может сам себя касаться? Типа, всю матрицу X заполнить подойдет?
6ondawave9, А самокасание? Всю матрицу заполнить иксами можно - и это весьма вероятный ответ, потому что его можно кучей способов получить. В итоге алгоритм может выдавать одно и то же, хотя это как бы разные пути.
Wataru, а если ввести ограничение от 3 до 9 Х? И важное уточнение забыл, маршрут может быть диагональным
А-ля
S O O O O
O Х O O O
O O Х O O
O O O Х O
O O O O E
6ondawave9, если ограничиться только шагами "вниз", "вправо" и "вправо-вниз" (каждый раз выбирая случайно из доступных вариантов), то сделать очень просто. Тебе такое норм? Или хочется, чтобы мог и вверх, и влево?
Проблема вашего вывода в том, что маршрут по нему невозможно однозначно восстановить. Но может это не плохо для ваших целей. Расскажите лучше, что вы будете с этой матрицей делать, что вам вообще надо, откуда вы вот этот вопрос придумали. Пока похоже на проблему XY.
Если автор решил заняться генерацией лабиринтов (Maze Generation) то выбрана очень плохая
структура данных. Действительно можно сделать такие касающиеся пути и объявить их решениями
хотя я думаю что автора это не удовлетворить.
Вобщем постанока плохая. Надо ее прорабатывать исключая такие вот кейсы. Они не нарушают условий
но и пользы от них нету.
mayton2019, абсолютно верно, задача сгенерировать случайный лабиринт для дальнейшей отрисовки. Структуру данных можно поменять, тк потом развернуть результат в одномерный массив не будет проблемой, я думаю. Подобными задачами ранее никогда не занимался, поэтому могу быть некорректен в формулировках и пояснениях, извиняюсь)
Wataru, задача сгенерировать случайный лабиринт для дальнейшей отрисовки. Структуру данных можно поменять, тк потом развернуть результат в одномерный массив не будет проблемой, я думаю. Подобными задачами ранее никогда не занимался, поэтому могу быть некорректен в формулировках и пояснениях, извиняюсь)
6ondawave9, так, уже интереснее. Вам нужен не путь, а лабиринт. С тупиками, возможно, но чтобы был выход. Стены в лабиринте какие: непроходимые клетки или тонкие стены между клетками?
Полагаю, можно случайно выбирать (с помощью простого рандома) идти вниз или вправо или вправо и вниз одновременно и заполнять таким образом X пока не окажемся у E, проверяя попутно не дошли ли мы до правого или нижнего края. Такой способ должен же работать, верно?