; 目的地に到達するためには多くて方向転換が2回 ; k = ⌈|x| / l⌉ + ⌈|y| / l⌉ として ; x = 0 かつ y >= 0 のとき k ; x /= 0 かつ y >= 0 のとき k + 1 ; その他の場合 k + 2 (defun main () (let* ((x (read)) (y (read)) (l (read)) ; abs 関数は絶対値 (k (+ (ceiling (abs x) l) (ceiling (abs y) l))) (ans (cond ((and (= x 0) (>= y 0)) k) ; (/= x y) は (not (= x y)) ((and (/= x 0) (>= y 0)) (1+ k)) (t (+ k 2))))) (princ ans) (terpri))) (main)