문제
Министр по делам семьи, молодежи и спорта Флатландии решил сделать игру хоккей <<национальным>> видом спорта. Для этого он приказал в каждом населенном пункте построить хоккейные площадки, в каждом городе --- ледовый дворец, а также закупить все необходимое оборудование (например, ворота, клюшки, шайбы). После исследования рынка спортивных товаров обнаружилось, что хоккейные ворота покупать очень дорого, поэтому их решили делать самостоятельно. Но вот незадача: никто не знает площадь сетки, которую нужно натянуть на одни ворота.
플랫랜드의 가족, 청소년 및 체육부 장관은 아이스하키를 국가 스포츠로 만들기로 결정했습니다. 이를 위해 그는 모든 도시에 하키장을 짓고 모든 도시에 얼음 궁전을 짓고 필요한 모든 장비(예: 골대, 스틱, 퍽)를 구입하라고 명령했습니다. 스포츠 용품 시장을 조사 한 결과 하키 게이트는 구매 비용이 매우 비싸기 때문에 직접 만들기로 결정했습니다. 하지만 여기에 문제가 있습니다. 아무도 골대 한 개 위에 펼쳐야하는 네트의 면적을 알지 못합니다.
Ворота выглядят следующим образом:
게이트는 다음과 같습니다:
Высота ворот --- метров, ширина --- метров, малая глубина --- метров, большая глубина --- метров. Сетку натягивают на заднюю часть ворот, бока и верхнюю часть ворот. Заметим, что для большей экономии сетку натягивают так, чтобы ее площадь была минимальной.
게이트의 높이 --- 미터, 너비 --- 미터, 얕은 깊이 --- 미터, 깊은 깊이 --- 미터. 그물망은 게이트의 뒷면, 측면 및 상단에 걸쳐 늘어납니다. 경제성을 높이기 위해 그물의 면적을 최소화할 수 있도록 그물을 늘립니다.
Уже скоро начнутся первые Флатландские игры, а Флатландские математики все еще не могут оценить затраты на ворота. Министр узнал о ваших успехах в области программирования и попросил написать программу, решающую его задачу.
첫 번째 플랫랜드 게임이 곧 시작될 예정이지만, 플랫랜드의 수학자들은 아직 게이트 비용을 추정하지 못하고 있습니다. 장관님이 여러분의 프로그래밍 성공 소식을 듣고 문제를 해결할 수 있는 프로그램을 작성해 달라고 부탁했습니다.
입력
В единственной строке находятся четыре вещественных числа , , , (0< H , W ≤2, 0≤ w_1 ≤ w_2 ≤2).
한 줄에는 4개의 실수 , , , (0<H,W≤2) 가 포함됩니다.
출력
В выходной файл выведите единственное число --- общую площадь сетки, необходимую для одних хоккейных ворот, с точностью до 10^-5.
출력 파일에서 하키 골 한 개에 필요한 총 네트 면적을 가장 가까운 하나의 숫자를 인쇄합니다.
풀이
import math
h,w,w1,w2 = map(float,input().split())
print(round(math.sqrt((w2-w1)**2 + h**2)*w + w*w1 + ((w1+w2) * h),5))
골대의 옆면(사다리꼴) 2개와 뒷면을 구하면 되는 문제
소수점 아래 5자리까지 출력하고 반올림 해야하니 round 함수 사용
'Develop > 알고리즘' 카테고리의 다른 글
[백준/Python] Silver I #14940 쉬운 최단거리 (0) | 2023.10.12 |
---|---|
[백준/Python] Gold IV #14500 테트로미노 (0) | 2023.10.11 |
[백준/Python] Silver I #11052 카드 구매하기 (0) | 2023.10.09 |
[백준/Python] Bronze V #28927 Киноманы (0) | 2023.10.09 |
[백준/Python] Bronze V #28938 Конвейер (0) | 2023.10.09 |
Comment