Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Решите на питон или С++

Stepa Ильичев Ученик (87), на голосовании 6 дней назад
A. Туннель (10 баллов)
Ограничение времени 1 секунда
Ограничение памяти 64Mb
Ввод стандартный ввод или input.txt
Вывод стандартный вывод или output.txt
Рассмотрим классическую задачу прохождения группы с одним фонариком по туннелю. Есть четыре человека и у них есть один фонарик. Нужно перевести всю группу на другой конец туннеля. По туннелю можно проходить только с фонариком и только либо вдвоем, либо в одиночку. По этой причине придется сделать пять рейсов по туннелю: три рейса туда и два рейса обратно. Туда идут двое, обратно — один, возвращая фонарик еще не прошедшей части группы. У каждого из четырех человек своя скорость передвижения по туннелю, но некоторые скорости могут совпадать. Двое идут со скоростью самого медленного в этой паре. Нужно найти минимальное время, за которое можно перевести группу по туннелю.

Здесь, в зависимости от скоростей персонажей, есть две стратегии. Проиллюстрируем их на примерах.

Пусть есть люди A, B, C, D. У A — время прохождения туннеля 1 минута, у B — 4 минуты, у C — 5 минут, у D — 10 минут. Здесь работает наиболее очевидная стратегия: самый быстрый переводит текущего и возвращаются с фонариком обратно за следующим. При этой стратегии нужно проходить так:

A, B туда, затрачено 4 минуты;

A обратно, затрачена 1 минута;

A, C туда, затрачено 5 минут;

A обратно, затрачена 1 минута;

A, D туда, затрачено 10 минут.

Общее время 4 + 1 + 5 + 1 + 10 = 21 минута.

Но не всегда эта стратегия оптимальна. Уменьшим время прохождения туннеля персонажем B до 2 минут. По вышеопределенной стратегии будет 19 минут (2 + 1 + 5 + 1 + 10 = 19), но имеется более быстрое решение:

A, B туда, затрачено 2 минуты;

A обратно, затрачена 1 минута;

C, D туда, затрачено 10 минут;

B обратно, затрачено 2 минуты;

A, B туда, затрачено 2 минуты.

Общее время 2 + 1 + 10 + 2 + 2 = 17 минут.

Заметим, что для предыдущего примера такая стратегия не работает: 4 + 1 + 10 + 4 + 4 = 23 минуты.

Если же персонаж B проходит туннель за 3 минуты (а все остальные так же как и в примерах), то независимо от стратегии будет затрачено 20 минут. В этом случае считаем, что работает первая стратегия.

Немного подумав, вы поймете от какого условия зависит выбор стратегии.

Далее будем всегда считать, что A движется не медленнее B, B движется не медленнее C, C движется не медленнее D.

Вам даны время прохождения туннеля персонажами A, C, D. Нужно найти границу border для B, такую, что если определить для B время прохождения строго меньшее чем border, то выгодна вторая стратегия, иначе первая.

Формат ввода
В одной строке задано три целых чисел через пробел — время прохождения туннеля персонажами A, C, D. Времена даны по неубыванию. Все числа на входе в пределах от 1 до 100.

Формат вывода
Вывести одно число — границу border для B, такую, что если определить время прохождения им туннеля строго меньше чем border, нужно использовать вторую стратегию, иначе — первую. Ответ может быть нецелым, поэтому вывести его нужно с одним знаком после десятичной точки.

Пример
Ввод Вывод
1 5 10 ч
3
Голосование за лучший ответ
Абдумуталибхон М. Мыслитель (5463) 1 месяц назад
Бредовая задача, решения нет.
Stepa ИльичевУченик (87) 1 месяц назад
умник?
Абдумуталибхон М. Мыслитель (5463) Stepa Ильичев, по горшкам деружник
Stepa ИльичевУченик (87) 1 месяц назад
кнш
Константин.Ученик (115) 1 месяц назад
Задача не бредовая, решение имеет. Логику расписал на листе А4 и получил прогу в 7 строк на питоне. Это с учетом A=int(A) и прочее.
Константин Плотников, так скинь сюда
Похожие вопросы