51 lines
2.2 KiB
Markdown
51 lines
2.2 KiB
Markdown
![]() |
---
|
|||
|
id: 5900f4731000cf542c50ff85
|
|||
|
title: 'Завдання 262: Гірський хребет'
|
|||
|
challengeType: 5
|
|||
|
forumTopicId: 301911
|
|||
|
dashedName: problem-262-mountain-range
|
|||
|
---
|
|||
|
|
|||
|
# --description--
|
|||
|
|
|||
|
Наступне рівняння являє собою безперервну топографію гірського регіону, що дає висоту $h$ у будь-якій точці ($x$, $y$):
|
|||
|
|
|||
|
$$h = \left(5000 - \frac{x^2 + y^2 + xy}{200} + \frac{25(x + y)}{2}\right) \times e^{-\left|\frac{x^2 + y^2}{1\\, 00\\,000} - \frac{3(x + y)}{2000} + \frac{7}{10}\right|}$$
|
|||
|
|
|||
|
Комар має намір летіти з A(200,200) до B (1400,1400), не виходячи з площі, заданої $0 ≤ x$, $y ≤ 1600$.
|
|||
|
|
|||
|
Через проміжні гори він спочатку піднімається прямо до точки A', маючи висоту $f$. Потім, залишаючись на тій же висоті $f$, він облітає будь-які перешкоди, поки не прибуде в точку В' прямо над В.
|
|||
|
|
|||
|
По-перше, визначте $f_{min}$, що є мінімальною постійною висотою, що дозволяє здійснити таку подорож від А до В, залишаючись у зазначеній області. Потім знайдіть довжину найкоротшого шляху між А' та В', пролітаючи на постійній висоті $f_{min}$.
|
|||
|
|
|||
|
У відповідь укажіть цю довжину, округлену до трьох знаків після коми.
|
|||
|
|
|||
|
**Note:** Для зручності показана вище функція піднесення повторюється нижче у формі, придатній для більшості мов програмування: `h=( 5000-0.005*(x*x+y*y+x*y)+12.5*(x+y) )* exp( -abs(0.000001*(x*x+y*y)-0.0015*(x+y)+0.7) )`.
|
|||
|
|
|||
|
# --hints--
|
|||
|
|
|||
|
`mountainRange()` має повернути `2531.205`.
|
|||
|
|
|||
|
```js
|
|||
|
assert.strictEqual(mountainRange(), 2531.205);
|
|||
|
```
|
|||
|
|
|||
|
# --seed--
|
|||
|
|
|||
|
## --seed-contents--
|
|||
|
|
|||
|
```js
|
|||
|
function mountainRange() {
|
|||
|
|
|||
|
return true;
|
|||
|
}
|
|||
|
|
|||
|
mountainRange();
|
|||
|
```
|
|||
|
|
|||
|
# --solutions--
|
|||
|
|
|||
|
```js
|
|||
|
// solution required
|
|||
|
```
|