An open API service indexing awesome lists of open source software.

https://github.com/shsamariddin/ridesharing


https://github.com/shsamariddin/ridesharing

Last synced: over 1 year ago
JSON representation

Awesome Lists containing this project

README

          

# Ridesharing

**Стартовая точка**

Так как в условии не указаны координаты стартовой точки, то я решил выбрать в качестве стартовой точки координаты офиса JetBrains.

**Метрика**

Расстояние между двумя точками я нахожу с помощью Евклидовой метрик. Хотя я нашел api который находит длину дороги, по карте города, между двумя точками. Но api оказался платным.

**Оценка**

Моей оценкой будет - то сколько дополнительного расстояния пройдет водитель, по сравнению с расстоянием до своей финальный точки, если подвезет этого пассажира.

*например:*

* стартовая точка: S(x1,y1)
* финальная точка пассажира: P(x2, y2)
* финальная точка водителя: D(x3,y3)

Если он подвезет пассажира то он проедет: dist(S, P) + dist(P, D)
Очевидно что если водитель подвезет пассажира то оптимальным маршрутом будет сначала довезти пассажира до финальный точки а потом поехать до своей финальный точки

Если не подвезет то он проедет: dist(S, D)

оценка будет: (dist(S, P) + dist(P, D)) - dist(S, D)

**Ответ**

Чем меньше оценка тем удобнее подвезти водителю пассажира. Поэтому отсортируем водителей по возрастанию оценки