262 : 山脈

次の式は山岳地帯の連続した地形図を示し、各ポイント(x,y)(x,y)標高hhを表す: h=(5000x2+y2+xy200+25(x+y)2)ex2+y210000003(x+y)2000+710\displaystyle h = \left ( 5000 - \frac{x^2+y^2+xy}{200} + \frac{25(x+y)}{2} \right ) \cdot e^{- \left | \frac{x^2+y^2}{1000000} - \frac{3(x+y)}{2000} + \frac{7}{10} \right |}

蚊が領域0x,y16000 ≤ x,y ≤ 1600から外れることなく A(200,200) から B(1400,1400) まで飛ぼうとする。

邪魔する山岳のために, 最初に蚊は標高 f のポイント A' までまっすぐ上へ飛ぶ。次に、同じ高さ f を保ったまま、障害をよけて飛び B の真上にあたるポイント B' まで飛ぶ。

最初に、決められた領域を出ないように A から B へ上記のように移動できる最小の fminf_\textit{min}を決める。 次に、標高fminf_\textit{min}を保ったまま飛ぶ、A' と B' の最短の経路を求める。

小数点以下 3 桁に四捨五入した経路の長さを答えとして入力せよ。

注:簡単のため、上に示した標高の関数を多くのプログラム言語に適した形で下に記す:

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

最終更新