У меня есть этот код:
(defparameter fc #\F)
(defparameter bc #\B)
(defparameter gap #\G)
(defun solp (seq)
(if (eql fc (car seq))
(not (if (listp (cdr seq))
(find bc (cdr seq))
(eql seq bc)))
(solp (cdr seq))))
(defun heuristic (seq &optional (f 0))
(if (eql nil seq)
0
(if (eql bc (car seq))
(+ f (heuristic (cdr seq) f))
(heuristic (cdr seq) (+ f 1)))))
(defun genneighbors (seq)
;seq == (fc fc gap bc bc) ===> neighbors == ( (gap fc fc bc bc)
; (fc gap fc bc bc)
; (fc fc bc gap)
; (fc fc bc bc gap) )
;I can't figure out how to do this
)
Я не могу понять, как закодировать функцию genneighbors
.Как получить доступ к слотам элемента (2 | 1) до gap
Как создать все четыре возможных соседа?Может кто-нибудь дать мне несколько советов?