問題一覧 > 通常問題

No.48 ロボットの操縦

レベル : / 実行時間制限 : 1ケース 5.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 1033
作問者 : なおなお
14 ProblemId : 75 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2015-11-14 17:50:06

問題文

太郎君はロボットを遠隔で操縦している。

このロボットは現在\((0,0)\)の座標に立っていて北の方向を向いている。
太郎君はいまこのロボットを\((X,Y)\)の座標に移動させたいと思っている。

ロボットに出来る命令は、\(1\)回につき以下のうちいずれかの命令を選んで指示することができる。
・時計回りに、\(90^{\circ}\) その場で向き(進行方向)を変える。
・反時計回りに、\(90^{\circ}\) その場で向き(進行方向)を変える。
・向いている方向に \(K\)距離だけ前進する。\(K\)は、\((1 \leq K \leq L)\) の範囲で、命令のたびに指定することができる。

入力

X
Y
L

\(1\)行目に、移動先の東西軸座標を表す整数 \(X\ (-10^9 \leq X \leq 10^9)\) が与えられる。正の方向を東とする。
\(2\)行目に、移動先の南北軸座標を表す整数 \(Y\ (-10^9 \leq Y \leq 10^9)\) が与えられる。正の方向を北とする。
\(3\)行目に、ロボットが\(1\)命令につき前進することができる最大の距離を表す整数 \(L\ (1 \leq L \leq 10^9)\) が与えられる。

出力

ロボットが移動先に到達するまでに必要な最小の命令回数を出力してください。
最後に改行してください。

サンプル

サンプル1
入力
0
2
1
出力
2

座標\((0,0)\)から\((0,2)\)へ移動させます。\(1\)回の前進あたり\(1\)距離進むことができます。
初期状態で北を向いているため、向きを変えずに前進命令を\(2\)回行うことで到達できます。

サンプル2
入力
-7
15
7
出力
5

北向きに\(7\)距離の前進を\(2\)回、\(1\)距離の前進を\(1\)回行い、
反時計回りに\(90^{\circ}\)回転した後、\(7\)距離の前進を\(1\)回行います。
合計\(5\)回の命令で到達できます。

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。