Вот очень интересная проблема, с которой я столкнулся: существует ориентированное дерево, в котором вес каждого node изменяется со временем, и мне нужно найти расстояние от корня до некоторого node.
Проблема:
- Theres длинная очередь перед счетчиком билетов. Вот очередь соображения.
- В точке соединения может быть не более 2 входящих очередей.
- От любой точки соединения может быть только одна исходящая очередь
- Могут быть несколько точек соединения, и очереди перемещаются уни-направленно
- Будет только один конечный пункт счетчика билетов, на который все очереди
- Есть несколько точек входа для поклонников, чтобы добраться до Счетчик
- Мне нужно разработать систему, которая может предложить поклонникам "Оптимальный путь" и его "Ожидаемое время" для достижения счетчика.
Ожидаемое время достижения счетчика из очереди зависит от количества людей в этой очереди и количества людей в других очередях.
- Время, затраченное на пересечение счетчика билетов и получение билета, равно 1 единица времени
- Предположим, что есть полицейский, стоящий в каждой точке соединения чья работа заключается в том, чтобы открыть ворота соединения для отправки людей из в очереди (очереди) в очередь. Если в очереди есть несколько очередей соединение, полицейский будет отправлять поклонников из каждой очереди один за другим в качестве альтернативы
Например, если в очереди есть 2 очереди, каждая из которых содержит по 3 вентилятора, то первый человек из очереди будет отправлен первым, за ним следует ведущий человек из очереди2, а затем следующий человек из очереди1 и т.д. Его альтернативный выбор между входящими очередями.
Для заданного ввода
- Первая строка содержит количество соединений
- Вторая строка содержит количество очередей
- Следующие строки 'e' содержат три значения: начальное соединение, конец соединение и количество людей в этой очереди. (Это также максимальное количество людей, которые могут стоять в этой очереди.)
Рассчитайте минимальное время для человека, который достигнет счетчика билетов, который вот-вот войдет в любую очередь. Кроме того, выведите путь, который он должен предпринять, чтобы достигнуть счетчика в минимальное время в худшем случае (в каждой точке соединения полицейский начинает выбирать людей из очереди, кроме той, которую мы вычисляем минимальное время для).
Как решить этот тип изменяющейся во времени проблемы?
Пример:
7
6
1 5 9
2 5 5
3 6 1
4 6 3
5 7 7
6 7 4
График выглядит следующим образом:
Счетчик счетчика: 7
Точки входа: 1, 2, 3, 4
- Время, требуемое для лица, которое просто входит в очередь от входа
точка 3: 1 человек из очереди (3,6) + 2 человека из очереди (4,6) + 4
люди из очереди (6,7) + 7 человек из очереди (5,7) + 1 человек из
очередь (1,5) будет идти до этого человека.