kozima #3557(2007/10/29 13:33 GMT) [ Common Lisp ] Rating6/6=1.00
あれこれ考えていたらこれで解が出るような気がしました。 探索を書かせるのが趣旨だったらごめんなさい。
1 2 3
(defun water-puzzle (a b c) (loop for (x y) in `((,a ,b) (,b ,c) (,c ,a)) if (zerop (mod (- x y) 3)) minimize (max x y)))
Rating6/6=1.00-0+
1 reply [ reply ]
にしお #3558(2007/10/29 13:39 GMT) Rating0/0=0.00
kozima #3562(2007/10/29 14:09 GMT) Rating1/1=1.00
その場合 (min (max a b) (max b c) (max c a)) と同じになりますから、a, b, c のうち二番目に大きいものが返るはずです。
[ reply ]
kozima
#3557()
[
Common Lisp
]
Rating6/6=1.00
(defun water-puzzle (a b c) (loop for (x y) in `((,a ,b) (,b ,c) (,c ,a)) if (zerop (mod (- x y) 3)) minimize (max x y)))Rating6/6=1.00-0+
1 reply [ reply ]