Пазл Мостовой переход - PullRequest
15 голосов
/ 17 июля 2009

Четверо мужчин должны пересечь мост ночью. Любая группа, пересекающая одного или двух человек, должна нести с собой фонарик. Фонарик должен идти вперед и назад; его нельзя бросить и т. д. Каждый человек ходит с разной скоростью. Один занимает 1 минуту, чтобы пересечь, еще 2 минуты, еще 5 и последние 10 минут. Если двое мужчин пересекаются вместе, они должны идти медленнее. Там нет никаких хитростей - все люди начинают с одной стороны, фонарик не может светить на большое расстояние, никто не может нести и т. Д.

И вопрос в том, что быстрее всего они могут пройти. Я в основном ищу какой-то обобщенный подход к такой проблеме. Мой друг сказал мне, что это можно решить с помощью ряда Фибоначчи, но решение не работает для всех.

Обратите внимание, что это не домашняя работа.

Ответы [ 11 ]

0 голосов
/ 03 декабря 2014

Я наметил возможные решения алгебраически и вышел с самым быстрым временем. и присвоение алгебры со списком A, B, C, D, где A является наименьшим, а D является самым большим формула для кратчайшего времени - B + A + D + B + B или 3B + A + D или, если кратко, сумма вторых самых быстрых умноженных на 3 и сложение с самыми быстрыми и самыми медленными.

при просмотре программы встал и вопрос увеличения предметов. Хотя я не прошел через это, но я предполагаю, что формула все еще применима, просто добавьте все элементы со вторым предметом, умноженным на 3, и суммой всего, кроме 2-х самых медленных раз. например так как 4 пункта 3 х второй + первый и четвертый. затем 5 пунктов 3 х второй + первый, третий и пятый. хотел бы проверить это с помощью программы.

Также я только что посмотрел PDF-файл, представленный выше, поэтому для других элементов это сумма 3 x секунда + самая быстрая + сумма самой медленной из каждой последующей пары.

Глядя на шаги для оптимизированного решения, идея заключается в справа - для двух предметов, идущих направо, самый быстрый - 1-й и 2-й самый быстрый, -лево - тогда плюс самый быстрый возврат для одного предмета - самый быстрый предмет -право - принесите 2 самых медленных предмета, которые будут составлять только самый медленный предмет и игнорировать второй самый медленный. -лево - 2-й самый быстрый предмет. -финал справа - 1-й и 2-й самый быстрый снова

так что снова суммируем = 2-й самый быстрый идет 3 раза, самый быстрый идет один раз, а самый медленный идет со вторым самым медленным.

...