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
|
||
```
|