/////////////////////////////////No.48 ロボットの操縦 //入力文字読み取り var inputall = require('fs').readFileSync('/dev/stdin', 'utf8'); //すべて受け取り改行で区切って格納 var inputline = inputall.split("\n"); //東西方向への移動距離の絶対値(東西がどっちかは関係ない) var east_move = Number(inputline[0]); east_move = Math.abs(east_move) //南北方向への移動距離の絶対値(南北がどっちかは関係ない) var north_move = Number(inputline[1]); north_move = Math.abs(north_move) //ロボットが前進することができる最大の距離 var robot_move = Number(inputline[2]); //ロボットへの命令量 var robot_order = 0 //北方向へ移動 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 (north_move != 0 && 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)