-
Notifications
You must be signed in to change notification settings - Fork 0
ValentinTishenko/BallPath
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Алгоритм выполнения тестового задания 1. Считывание всей необходимой информации с файла. Данную задачу выполняет функция rFile(), она возвращает всю необходимую информацию в виде ассоциативного массива. 2. Следующий шаг- преобразование информации в необходимый формат и обозначение точек старта, финиша и преград в массиве который теперь будет. 3. После чего мы уже приступаем к поиску кратчайшего пути, сначала мы с помощью функции search(). В первой части данной функции мы выполняем поиск точки финиша исходя от точки старта таким методом: мы помечаем ячейки массива насколько далеко они находятся от точки старта и заносим их в fifo, когда точки, которую мы используем за указатель заканчиваются возможные варианты хода, то мы достаем следующую точку с fifo, и выполняем это действие пока указатель не укажет на точку финиша, попутно проверяя что бы указатель не указал на преграду на точку с которой уже работал указатель или на начальную точку. Когда указатель указал на финиш, то мы начинаем двигаться в обратную сторону к старту, но выбираем только те ячейки, которые имеют самый маленький вес среди тех с которых мы выбираем делая ход, занося при этом все данные в другой массив buf. 4. Отмечаем в начальном массиве кратчайший путь в виде последовательности шагов, считаем шаги, записываем необходимую комбинацию и выводим всю необходимую информацию.
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published