Took me sometime to finish the exercise of 2.42: Eight-queen solution.
着实花费了点儿时间整理出了8后问题的解法。希望以后看到这段代码也能理解。
少し時間かけてやっと自分なりに8-queen問題の解答ができた。
(define (adjoin-position row col position-set)
(append position-set (list (list row col))))
(define empty-board
(list (quote ())))
(define (safe? k positions)
(accumulate (lambda (x y)
(and ((lambda (z)
(cond ((null? z) #t)
((< (cadr z) k)
(cond ((= (car z) (car (last positions))) #f)
((= (abs (- (car z) (car (last positions))))
(abs (- (cadr z) (cadr (last positions))))) #f)))
(else #t))) x)
y))
#t positions))
No comments:
Post a Comment