e-olymp 57. Бабочка-санитар

Задача взята с сайта e-olymp.com.

Условие

Школьники, идя из дому в школу или наоборот — со школы домой, любят кушать конфеты. Но, как всегда, это приятное дело иногда имеет неприятные последствия – детки часто выбрасывают обертки на школьном дворе.

Мурзик всегда следил за чистотой школьного двора и ему в этом с радостью помогали бабочки, благодарные за прекрасные фотографии, сделанные им. Бабочки могли использовать собственные крылышки как линзы, причем они могли изменять их фокусное расстояние. Заметив обертку от конфетки, лежавшую на школьном дворе в точке с координатами [latex]X_1[/latex], [latex]Y_1[/latex], бабочка перелетала в точку с координатами [latex]X_2[/latex], [latex]Y_2[/latex], [latex]Z_2[/latex], расположенную на пути солнечных лучей к обертке и, изменяя фокусное расстояние своих крылышек-линз, сжигали обертку от конфеты.

Какую оптическую силу [latex]D[/latex] имели крылышки-линзы бабочки в этот момент?

Входные данные:

В первой строке 2 числа: координаты [latex]X_1[/latex], [latex]Y_1[/latex], обертки от конфетки. Во второй – 3 числа: координаты [latex]X_2[/latex], [latex]Y_2[/latex], [latex]Z_2[/latex] бабочки в момент сжигания обертки.

Все входные данные целые числа, не превышающие по модулю 1000.

Выходные данные:

Единственное число – оптическая сила крылышек-линз [latex]D[/latex], вычисленная с точностью до 3-х знаков после запятой за правилами математических округлений.

Тесты:

[latex]X_1[/latex] [latex]Y_1[/latex] [latex]X_2[/latex] [latex]Y_2[/latex] [latex]Z_2[/latex] [latex]D[/latex]
10 20 10 20 100 0.010
10 30 10 30 50 0.020
10 30 20 40 110 0.009

Код:

 

Ход решения:

Вычисляем оптическую силу линзы D по формуле [latex]D = \frac{1}{f}[/latex], где f — расстояние между бабочкой и обёрткой. вычисляем его по формуле: [latex]f[/latex] = [latex]\sqrt{(X_2-X_1)^2+(Y_2-Y_1)^2+Z_2^2}[/latex]. Вычисление в одну строку:

Далее округляем результат до требуемой точности и выводим на экран:

Ссылки:

Зачитанный вариант на e-olimp.com: olymp.com

Рабочий код для тестирования на Ideaone.com: Ideaone.com

2 thoughts on “e-olymp 57. Бабочка-санитар

Добавить комментарий