В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
Nope2281
Nope2281
30.11.2020 18:25 •  Информатика

Велосипедисты Два велосипедиста выехали одновременно из пункта A по одной дороге с различными скоростями uu и vv метров в секунду. Через tt секунд им вдогонку выехал электромобиль и через некоторое время обогнал одного, а затем и другого велосипедиста. При этом интервал между моментами обгона составил dd секунд.

Вы должны написать программу , которая вычислит скорость движения электромобиля.

Формат входных данных
На вход через пробел подаются четыре натуральных числа: uu, vv, tt, dd. При этом u\neq vu

=v; u,v\leq 50u,v≤50; t,d\leq 10000t,d≤10000. Гарантируется, что введенные данные будут таковы, что ответ не превысит 200.

Формат выходных данных
Программа должна вывести одно вещественное число — скорость электромобиля.

Методика проверки и пояснение к тесту
ответ участника считается верным, если он отличается от ответа жюри не более чем на 10^{-8}10
−8
.

Программа проверяется на 10 тестах. Прохождение каждого теста оценивается в При этом в первых пяти тестах ответ обязательно будет целым числом. Тест из условия задачи при проверке не используется.

Рассмотрим тест из примера. Утверждается, что для заданных параметров ответом является 12. Проверим это. Можно вычислить, что электромобиль, двигаясь со скоростью 12 м/с. догонит обгонит более медленного велосипедиста на расстоянии 480 метров, а более быстрого на расстоянии в 1200 метров. Действительно электромобиль преодолеет 480 и 1200 метров за 40 и 100 секунд соответственно. Таким образом, интервал между моментами обгона действительно равен 60. Велосипедисты до моментов обгона будут двигаться на 20 секунд дольше, по 60 и 120 секунд соответственно. И, проверив пройденное расстояние 60\cdot8=48060⋅8=480 и 120\cdot 10=1200120⋅10=1200, убедимся, что ответ верен. Обратите внимание, что это пояснение лишь показывает, как проверить правильность ответа, но не является алгоритмом решения.

Sample Input:
10 8 20 60

Sample Output:
12.0

Показать ответ
Ответ:
radzihovskaa
radzihovskaa
17.10.2021 06:00

Код (написан на Go): https://pastebin.com/0pKETCwQ

За качество кода прощения, сам еле разобрался в теме)

Объяснение:

Необходимо узнать пройденное расстояние за t секунд у двух велосипедистов:

s1 = u * t; s2 = v * t (в примере они равны 200 и 160 соответственно)

Также спустя t секунд стартует электромобиль, в этот момент его пройденное расстояние равно нулю.

Из условия знаем, что электромобиль сначала ОБОГНАЛ одного, а затем и другого велосипедиста. Для того, чтобы обогнать двоих, скорость электромобиля должна быть больше максимальной скорости из двух велосипедистов (в примере u > v, значит, скорость электромобиля точно больше u)

Теперь поиграем со скоростью электромобиля -- пусть оно будет равно, допустим, 11:

если посчитать пройденное расстояние электромобиля за каждую секунду и самого отстающего велосипедиста, то можно заметить, что с каждой секундой это расстояние сокращается на разницу их скоростей. Немного алгебры и получим формулу для получения времени, когда электромобиль перегонит одного из велосипедистов:

x = s / (k - v), где s - пройденное расстояние велосипедистом, k - скорость электромобиля и v - скорость велосипедиста

Из условия:

x1 - x2 = d, где d - интервал между моментами обгона, а x1 и x2 - формулы сверху относительно каждого из велосипедистов

А теперь наступает полная алгебра. Дальше я распишу всё на листочке, где все значения будут взяты из примера.

Мы получили два корня, что с ними делать? Во-первых, вспомним, что скорость электромобиля должна быть выше наибольшей скорости двух велосипедистов, а во-вторых, оба корня можно проверить по выше написанной формуле. Если на самом деле равенство выполняется, то это ответ к нашей задаче :)

Вроде ничего не упустил)


Велосипедисты Два велосипедиста выехали одновременно из пункта A по одной дороге с различными скорос
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота