Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

☆(´∀`)★SICP★(,,゚Д゚)☆

Name: Anonymous 2007-04-02 6:54 ID:d9euNV6I

so why has the guy on the cover put on his robe and wizard hat?

Name: Anonymous 2007-04-02 9:47 ID:ELENx1IH

(define (queens board-size)
  (define empty-board ())
  (define (row pos) (car pos))
  (define (col pos) (cdr pos))
  (define (adjoin-position row col rest)
    (cons (cons row col) rest))
  (define (safe-row? new rest)
    (null? (filter (lambda (pos)
                     (= (row pos)
                        (row new)))
                   rest)))
  (define (safe-diag? new rest)
    (null? (filter (lambda (pos)
                     (= (abs (- (row pos)
                                (row new)))
                        (abs (- (col pos)
                                (col new)))))
                   rest)))
  (define (safe? col positions)
    (let ((new  (car positions))
          (rest (cdr positions)))
      (and (safe-row?  new rest)
           (safe-diag? new rest))))
  (define (queen-cols k)
    (if (= k 0)
        (list empty-board)
        (filter
         (lambda (positions) (safe? k positions))
         (flatmap
          (lambda (rest-of-queens)
            (map (lambda (new-row)
                   (adjoin-position new-row k rest-of-queens))
                 (enumerate-interval 1 board-size)))
          (queen-cols (- k 1))))))
  (queen-cols board-size))

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List