Задача
Женская олимпийская сборная Украины в эстафете 4×100 метров на олимпийских играх в Лондоне в составе (Кристина Стуй, Олеся Повх, Елизавета Брызгина, Мария Ремень)
Несмотря на то, что женская сборная Украины в эстафете $4\times 100$ метров на олимпийских играх в Лондоне в составе Кристины Стуй, Олеси Повх, Елизаветы Брызгиной и Марии Ремень выступила очень достойно и завоевала бронзовые медали, подобная мысль назойливо мучила и программиста Васю.
Как показали тщательные экспериментальные проверки, модель, построенная им в задаче «Крейсерская скорость» оказалась не совсем точной. Многочасовые наблюдения, проведённые им на тренировках как украинских спортсменок, так и спринтеров из других стран, показали, что некоторые спортсмены во время старта разгоняются, а некоторые притормаживают. Но всё равно, после $25$ стартовых метров дистанции они движутся далее равномерно.
Феномен с «притормаживанием» Васе удалось с точки зрения физики пояснить довольно просто. Во время старта каждый из спортсменов имеет некоторую стартовую скорость, приобретённую в результате мощного отталкивания от стартовых колодок. Эта скорость может быть либо меньше «крейсерской», либо больше. В первом случае спортсмену нужно работать над наращиванием мышц ног для увеличения силы отталкивания. Во втором – мышцы уже наращены, но в результате того, что сила сопротивления воздуха зависит от площади соприкосновения тела спортсмена с ним, во время распрямления спортсмена во время старта эта сила сопротивления возрастает и становится постоянной только после указанных выше $25$ стартовых метров дистанции.
Обрадованный тем, что ему удалось найти разумное объяснение разным стартовым скоростям легкоатлетов, Вася решил узнать скорость каждого из них сразу после отталкивания от стартовых колодок.
Ваша задача помочь в этом Васе, считая, что на первых $25$ метрах дистанции движение легкоатлета является равноускоренным, независимо от того, ускоряется он или замедляется.
Вводные данные
В единственной строке задано $2$ вещественных числа, разделённых единичным пробелом, соответственно результат спортсмена на дистанциях $100$ и $200$ метров.
Выходные данные
В единственной строке выведите стартовую скорость спортсмена с точностью не менее $6$-ти знаков после запятой.
Тесты
Входные данные
|
Выходные данные
|
$9.63$ $19.32$
|
$10.844104$
|
$9.77$ $19.59$
|
$10.606721$
|
$9.69$ $19.40$
|
$10.469771$
|
$10.02$ $20.12$
|
$10.548908$
|
$9.88$ $19.85$
|
$10.781564$
|
Код программы 1
|
import java.util.*; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); double a, b; a = in.nextDouble(); // результат спортсмена на дистанции 100 метров b = in.nextDouble(); // результат спортсмена на дистанции 200 метров double t = (175*a - 75*b) / 100; //время разгона спортсмена double v = 75 / (a - t); //находим "крейсерскую" скорость спортсмена double v0 = (50 - v*t) / t; //находим стартовую скорость спортсмена System.out.printf("%.6f", v0); } } |
Комментарий к коду программы
Если использовать данный код программы, то имеем, что программа не будет проходить лимит по времени на сайте e-olymp. Тогда эта же задача с исходными ограничениями времени будет засчитываться, если использовать другой класс для ввода
Код программы 2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
import java.io.*; class Main { static StreamTokenizer in = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in))); static double nextDouble() throws IOException { in.nextToken(); return in.nval; } public static void main(String[] args) throws java.lang.Exception { double a, b; a = nextDouble(); b = nextDouble(); double t = (175*a - 75*b) / 100; double v = 75 / (a - t); double v0 = (50 - v*t) / t; System.out.printf("%.6f", v0); } } |
Решение задачи
Со школы знаем формулу скорости, $v = \frac{l}{t}.$ Найдем из неё $l=vt.$ Пусть $l_1$ и $l_2$ — это расстояния, на которых спортсмен бежит с «крейсерской» скоростью соотвественно на дистанциях в $100$ и $200$ метров, где $l_1 = l — l_p,$ где $l$ — это длина дистанции, а $l_p$ — длина разгона (известно из условия задачи). Аналогично для $l_2.$ Заменим $t$ на $t_1 — t_p,$ где — время, $t_1$ за которое спортсмен пробегает всю дистанцию, а $t_p$ — время разгона на первых $25$-ти метрах дистанции. Получаем формулы: $l_1 = v(t_1 — t_p)$ и $l_2 = v(t_2 — t_p).$ Из отношения этих формул $\frac{l_1}{l_2} = \frac{v(t_1 — t_p)}{v(t_2 — t_p)},$ найдем $t_p.$ Имеем, $t_p=\frac{l_1 t_2 — l_2 t_1}{l_2 — l_1}.$ Подставляем $l_1 = v(t_1 — t_p).$ Находим «крейсерскую» скорость спортсмена, $v = \frac{l_1}{t_1 — t_p}.$ Из уравнения равноускоренного движения $x = v_0 t \times \frac{at^2}{2},$ где $x = 25$ метров (длина разгона). Находим $v_0$ — это и есть стартовая скорость спортсмена. Для этого заменим $a$ на $\frac{v — v_0}{t_p}.$ Приводим подобные и выражаем $v_0$. В итоге получаем формулу стартовой скорости спортсмена, $v_0=\frac{50-vt_p}{t_p}$
Ссылки
Условие задачи на e-olymp
Код решения 1 на ideone.com
Код решения 2 на ideone.com