https://github.com/shsamariddin/ridesharing
https://github.com/shsamariddin/ridesharing
Last synced: over 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/shsamariddin/ridesharing
- Owner: ShSamariddin
- Created: 2020-04-05T16:07:33.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-04-05T17:43:33.000Z (over 6 years ago)
- Last Synced: 2025-02-01T21:12:09.011Z (over 1 year ago)
- Language: Kotlin
- Size: 3.91 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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)
**Ответ**
Чем меньше оценка тем удобнее подвезти водителю пассажира. Поэтому отсортируем водителей по возрастанию оценки