Что я пытаюсь сделать, это создать программу, которая назначит маршрут для теста вождения. будет три разных маршрута, связанных в определенных точках. Никогда не должно быть более одного ученика в точке пересечения.Алгоритм программы присвоения маршрута
Лучший способ решить это, чтобы запланировать эти точки interection временем.
Это не единственная проблема, мне понадобятся маршруты, которые будут равномерно распределены экзаменаторам. Так маршрут 1 будет дано экзаменатор 1 маршрут 2 - экзаменатор 2 маршрут 3- экзаменатор 3 ...
Реальный Baumann предложил это:
Расчет столкновений раз с начала.
Маршрут 1 имеет 6 пунктов.
{A,B,C,D,E,F}
Маршрут 2 имеет 5 баллов.
{A,F,G,H,I}
Маршрут 3 имеет 6 пунктов.
{A,H,K,L,M,N}
Возможные Коллизии в:
{A,F,H}
Так что вам нужно вычислить следующие времена:
Маршрут 1: A-> F, A->
Маршрут 2: A-> F , A-> H, A->
Маршрут 3: A-> H, A->
Отсюда можно вычислить время различия, которые создают столкновения.
Если это займет у вас 20 минут, чтобы перейти от маршрута 1 маршрут 1F и 5 минут, чтобы добраться от маршрута 2 Маршрут 2F, то вы знаете, столкновение произойдет, если начать прием на трассу-ровно 15 минут после того, как вы начали встречу на пути 1.
Тогда вы бы иметь набор неработающих столкновений:
Маршрут 1 & 2 Collide по адресу: 15, 25, 40
Маршрут 1 & 3 Collide по адресу: 2 5, 30
Маршрут 2 & 3 сталкиваютс: 30, 40, 45
Это я могу понять в точку. Но с точки зрения алгоритма я не знаю, с чего начать. ЕСЛИ кто-то может помочь мне с каким-то псевдокодом, чтобы сработать, или что-то, чтобы сделать его более ясным в моем собственном сознании. это очень помогло бы.
Являются ли сегменты взвешенными? IE Сколько времени требуется, чтобы получить от 1A до 1B? Упорядочены ли сегменты? Должен ли я перемещаться по часовой стрелке/против часовой стрелки? –
Является ли это домашней проблемой? – Servy
Кроме того, могут ли студенты уйти и вернуться в штаб-квартиру одновременно или это нарушит ваше правило пересечения? –