Код Ревью
Сравни свои решения
#| 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 |#