Skip to content

ValentinTishenko/BallPath

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

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

No packages published

Languages