/////////////////////////////////No.48 ロボットの操縦 //入力文字読み取り var inputall = require('fs').readFileSync('/dev/stdin', 'utf8'); //すべて受け取り改行で区切って格納 var inputline = inputall.split("\n"); //東西方向への移動距離の絶対値(東西がどっちかは関係ない) var east = Number(inputline[0]); var east_move = Math.abs(east) //南北方向への移動距離の絶対値(南北がどっちかは関係ない) var north = Number(inputline[1]); var north_move = Math.abs(north) //ロボットが前進することができる最大の距離 var robot_move = Number(inputline[2]); //ロボットへの命令量 var robot_order = 0 //南に移動するとき if (north <0) { robot_order ++ } //北方向へ移動 if (north_move != 0) { var north_division = Math.floor(north_move / robot_move); if (north_division == 0) { //何回の命令でたどり着けるか robot_order++ } else { robot_order += north_division } if (north_move % robot_move != 0) { //余りが出ると命令量が1増える robot_order++ } } //東西方向へ90度回転するかどうか if (east_move != 0) { robot_order++ } //東方向へ移動 if (east_move != 0) { var east_division = Math.floor(east_move / robot_move); if (east_division == 0) { //何回の命令でたどり着けるか robot_order++ } else { robot_order += east_division } if (east_move % robot_move != 0) {//余りが出ると命令量が1増える robot_order++ } } console.log(robot_order)