日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Scheme N皇后

發(fā)布時間:2023/12/10 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Scheme N皇后 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
(define (range n)(define (recur n)(if (= n -1)'()(cons n (recur (- n 1)))))(recur (- n 1)))(define (flatten a)(if (null? a)'() (append (car a) (flatten (cdr a)))))(define (safe? x y sln)(if (null? sln)#t(let ((px (car (car sln))) (py (cadr (car sln))))(if (or (= y py) (= (- py y) (- px x)) (= (- py y) (- x px)))#f (safe? x y (cdr sln))))))(define (nqueen n)(define (recur x)(if (= x -1)(list '())(flatten (map (lambda (y) (map (lambda (sln) (cons (list x y) sln)) (filter (lambda (sln) (safe? x y sln)) (recur (- x 1))))) (range n)))))(recur (- n 1)))(define (pl a)(if (null? a)'()(begin (display (car a)) (display "\n") (pl (cdr a)))))(pl (nqueen 4))

?流 版本:

#lang racket (require racket/stream)(define-syntax-rule (scons a b) (stream-cons a b)) (define-syntax-rule (scar a) (stream-first a)) (define-syntax-rule (scdr a) (stream-rest a)) (define-syntax-rule (smap f s) (stream-map f s)) (define-syntax-rule (sfilter f s) (stream-filter f s)) (define-syntax-rule (sreduce f i s) (stream-fold f i s)) (define-syntax-rule (snull? s) (stream-empty? s)) (define-syntax-rule (sappend s ...) (stream-append s ...)) (define-syntax-rule (sfor f s) (stream-for-each f s))(define (sflatten a)(if (snull? a)empty-stream(sappend (scar a) (sflatten (scdr a)))))(define (srange n)(let recur ((x 0))(if (= x n)empty-stream(scons x (recur (+ x 1))))))(define (dis x)(begin (display x)(newline)))(define (sd s)(sfor dis s))(define (safe? x y sln)(if (snull? sln)#t(let ((px (scar (scar sln))) (py (scar (scdr (scar sln)))))(if (or (= y py) (= (- py y) (- px x)) (= (- py y) (- x px)))#f (safe? x y (scdr sln))))))(define (nqueen n)(define (recur x)(if (= x -1)(stream empty-stream)(sflatten (smap (lambda (y) (smap (lambda (sln) (scons (stream x y) sln)) (sfilter (lambda (sln) (safe? x y sln)) (recur (- x 1))))) (srange n)))))(recur (- n 1)))(define ass (sflatten (stream (srange 4) (srange 5)))) ;(define ass (stream (srange 4) (srange 5))) (sfor (lambda (x) (sfor (lambda (y) (sfor display y)(display ",")) x)(newline)) (nqueen 8))

?

轉(zhuǎn)載于:https://www.cnblogs.com/xiangnan/p/3907175.html

總結(jié)

以上是生活随笔為你收集整理的Scheme N皇后的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。