Code Review

Compare your solutions

    #| BEGIN (Введите свое решение) |#
(define (adjoin-position new-row k rest-of-queens)
  (cons new-row rest-of-queens))

(define empty-board '())

(define (safe? k positions)
  (let ((new-row (car positions))
        (rest-rows (cdr positions)))
    (define (safe-helper rest col)
      (if (null? rest)
          #t
          (let ((row (car rest)))
            (if (or (= row new-row)                      ; Проверка строки
                    (= (abs (- row new-row)) (abs (- col k))))  ; Проверка диагонали
                #f
                (safe-helper (cdr rest) (- col 1))))))
    (safe-helper rest-rows (- k 1))))


#| END |#