亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? queen.scm

?? 用scheme實現的八皇后
?? SCM
字號:
;使用到的未定義的函數,屬于List常用操作模式 

(define (accumulate proc initial sequence)                      ;accumlate 在List各元素上累積運算
  (if (null? sequence) 
      initial 
      (proc (car sequence) 
      (accumulate proc initial (cdr sequence))))) 

(define (flat-map proc seqs)                                    ;flat-map “放平了”,所以稱flatmap
  (accumulate append () (map proc seqs))) 

 
(define (enumerate-interval low high)                           ;enumerate-interval 產生順序遞增的list
  (if (> low high) 
      '() 
      (cons low 
        (enumerate-interval (+ low 1) high)))) 

;--------------------------------------------我是分割線------------------------------------------------------------------------------------------------------

;代碼部分

;legal函數用于判斷皇后放在第k行是否合理
(define (legal? row arrangement)                                     
    (or (= row 1)                                                                          ;第一行無需判斷 
    (null? (filter (lambda (first) (check first (car arrangement))) (cdr arrangement)))))  ; 若check函數為true則不合理


;check函數用于判斷標號為place1 和 place2 的兩個皇后的位置是否合理 
(define (check place1 place2)                                      
  (or(= (abs (- (car place1) (car place2))) 
      (abs (- (cadr place1) (cadr place2))))            ;是否在同一行上?
     (= (car place1) (car place2))))                    ;是否在同一列上?
 

;如果放在坐標為(x,y)是安全的 則加入結果set中
(define (join y x set)              
  (cons (list y x)set))                                    ;set中是(y x) 對應皇后的列和行 
 

;(compute chessboard)返回結果,第i個元素代表第i種結果,每個結果的第j成員代表這個結果中第j行皇后的所在列,遞歸地進行判斷。 
(define (compute chessboard) 
  (define (computerow k)                                    ;參數k 調用時賦予初值 比如解決八皇后問題時k=8
    (if (= k 0)                                             ;若k=0 說明已經遞歸到最底層 有解
        (list '())                                          
        (filter (lambda (arrangement) (legal? k arrangement))   ;filter函數用于過濾所有不滿足legal條件的 即不合法的放法            
         (flat-map  
          (lambda (set) 
            (map (lambda (y) (join y k set))                ;把所有k行中的每一列都加入left中     
                 (enumerate-interval 1 chessboard)))          
          (computerow (- k 1))))))                          ;遞歸地對k-1行進行相同處理
  (computerow chessboard)) 
 

;輸出結果的編號i
(define(shownumber i)                                   
  (begin (display "No.")(display i)(display " solution:") (newline)))


;根據(car line)的值選擇輸出 與C中的switch語句功能一樣
(define (show line)                                      
          (cond ((= (car line) 1) (begin (display "(Q * * * * * * *)") (newline))) 
                ((= (car line) 2) (begin (display "(* Q * * * * * *)") (newline))) 
                ((= (car line) 3) (begin (display "(* * Q * * * * *)") (newline))) 
                ((= (car line) 4) (begin (display "(* * * Q * * * *)") (newline))) 
                ((= (car line) 5) (begin (display "(* * * * Q * * *)") (newline))) 
                ((= (car line) 6) (begin (display "(* * * * * Q * *)") (newline))) 
                ((= (car line) 7) (begin (display "(* * * * * * Q *)") (newline))) 
                ((= (car line) 8) (begin (display "(* * * * * * * Q)") (newline))) 
                 )) 

  
;輸出結果 結果中的第i個元素的值是j 表示的是皇后的坐標為(i,j)
(define(output result)                              
  (cond((null? result)  (newline))     
        ( else(show (car result))             
              (output (cdr result)))))               ;尾遞歸 迭代輸出
 

;resultset表示結果集 通過調用output函數輸出所有結果 每次取出結果集中的第一個放入firstset中進行輸出
(define(outputset resultset)  
  (let((firstset (car resultset)) (leftset (cdr resultset)))
  (cond((null? resultset) (newline)(display "There are totally ")(display (- 92 (length resultset)))(display " kinds of arrangements.")) 
       (else (shownumber (- 93 (length resultset))) (output firstset) (outputset leftset)))))


;運行時只需調用queens函數即可 參數boardsize表示棋盤大小為boardsize×boardsize
(define (queens boardsize)                           
  (outputset  (compute boardsize)))   

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产中文字幕一区| 久久精品人人做人人综合| 久久理论电影网| 亚洲综合视频在线观看| 成人亚洲一区二区一| 91麻豆精品国产91久久久更新时间| 国产精品美女久久久久高潮| 久久国产精品免费| 欧美日本一道本| 亚洲精选在线视频| 9人人澡人人爽人人精品| 日韩精品在线一区| 免费在线成人网| 欧美午夜免费电影| 一区二区三区四区蜜桃| 99久久精品国产一区二区三区| 久久久久久久一区| 精品一区二区三区影院在线午夜| 国产日产欧美精品一区二区三区| 午夜精彩视频在线观看不卡| 色中色一区二区| 国产精品嫩草影院av蜜臀| 国产一区二区三区在线观看免费| 日韩一级二级三级精品视频| 三级欧美在线一区| 欧美日韩黄色一区二区| 亚洲自拍偷拍麻豆| 欧洲在线/亚洲| 亚洲伊人伊色伊影伊综合网 | 久久久亚洲欧洲日产国码αv| 日韩中文字幕区一区有砖一区 | www国产精品av| 久久机这里只有精品| 欧美电影精品一区二区| 九九久久精品视频| 久久综合久久久久88| 国产一本一道久久香蕉| 久久久精品黄色| 成人午夜在线视频| 国产精品国产自产拍高清av| 色婷婷国产精品综合在线观看| 亚洲另类在线视频| 欧美人伦禁忌dvd放荡欲情| 日韩成人免费看| 欧美成人伊人久久综合网| 国产一区二区三区四区五区入口| 国产日产欧美一区| 一本一道久久a久久精品综合蜜臀| 一区二区在线电影| 欧美精品久久久久久久久老牛影院| 日本va欧美va欧美va精品| 2021国产精品久久精品| 成人看片黄a免费看在线| 亚洲码国产岛国毛片在线| 欧美日韩黄视频| 国产精品白丝jk黑袜喷水| 亚洲人成网站影音先锋播放| 欧美卡1卡2卡| 国产aⅴ精品一区二区三区色成熟| 亚洲欧美偷拍另类a∨色屁股| 欧美欧美欧美欧美首页| 国产一区二区三区在线观看精品| 中文字幕一区二区三区在线观看| 在线免费精品视频| 国产一区二区三区黄视频| 亚洲九九爱视频| 精品理论电影在线| 欧洲一区在线观看| 国产传媒欧美日韩成人| 亚洲一二三四区不卡| 久久久久久免费网| 欧美三级日韩三级国产三级| 国产成人精品免费| 爽爽淫人综合网网站| 中文字幕亚洲在| 日韩精品资源二区在线| 欧美亚洲综合在线| 成人夜色视频网站在线观看| 日韩国产欧美一区二区三区| 中文字幕一区二区不卡| 久久综合视频网| 欧美日韩国产影片| 色综合久久88色综合天天6| 毛片av一区二区三区| 亚洲一区二区中文在线| 久久精品视频一区二区三区| 欧美日韩中文字幕一区| 成人国产免费视频| 国产一区在线视频| 蜜臀av一区二区三区| 亚洲成人第一页| 亚洲男女一区二区三区| 国产精品色哟哟网站| 欧美mv和日韩mv的网站| 欧美日韩视频在线观看一区二区三区 | 蜜桃av一区二区| 亚洲国产精品尤物yw在线观看| 国产欧美精品一区二区三区四区| 日韩一级二级三级精品视频| 欧美日韩黄色影视| 色综合久久久久久久| 99r国产精品| 成人免费毛片a| 国产成人精品三级麻豆| 国产成人免费在线视频| 国产美女一区二区三区| 国产一区二区三区在线看麻豆| 日本伊人午夜精品| 日本不卡一二三| 日韩va亚洲va欧美va久久| 亚洲一区免费视频| 天天综合网天天综合色| 首页欧美精品中文字幕| 肉丝袜脚交视频一区二区| 亚洲va欧美va天堂v国产综合| 亚洲一区二区三区四区在线观看| 一区二区三区在线不卡| 亚洲国产一区二区视频| 亚洲午夜国产一区99re久久| 亚洲成av人片在线| 日韩福利视频网| 美女诱惑一区二区| 国产激情一区二区三区四区| 丁香婷婷综合色啪| 91在线视频播放地址| 欧美伊人久久久久久久久影院 | 国产精品麻豆欧美日韩ww| 国产精品久久午夜| 亚洲一区欧美一区| 男人操女人的视频在线观看欧美| 激情六月婷婷综合| www.亚洲国产| 欧美日韩一二区| 精品成人免费观看| 国产精品拍天天在线| 亚洲午夜免费电影| 免费高清在线一区| 成人福利电影精品一区二区在线观看| 99久久综合狠狠综合久久| 欧美三级韩国三级日本一级| 欧美变态tickling挠脚心| 国产精品视频你懂的| 亚洲一区二区三区在线| 久久99国产精品久久99果冻传媒| 国产精品1区2区3区在线观看| 99热在这里有精品免费| 欧美精品色综合| 国产日韩影视精品| 亚洲一区在线观看免费| 激情五月播播久久久精品| 99精品视频一区| 91精品国产综合久久精品图片| 久久久久九九视频| 五月激情综合网| 国产成人亚洲综合色影视| 色婷婷精品久久二区二区蜜臂av | 日韩欧美在线影院| 亚洲视频在线一区观看| 激情小说亚洲一区| 在线观看av不卡| 国产日产精品一区| 日韩精品一卡二卡三卡四卡无卡| 福利91精品一区二区三区| 欧美日韩第一区日日骚| 国产精品国产自产拍在线| 蜜乳av一区二区| 欧美在线三级电影| 国产精品美女一区二区在线观看| 水野朝阳av一区二区三区| 97精品久久久午夜一区二区三区| 日韩女优制服丝袜电影| 亚洲影视在线播放| 91在线云播放| 中文字幕不卡在线观看| 蜜臀a∨国产成人精品| 欧美中文字幕一区二区三区| 国产精品毛片高清在线完整版| 日本中文在线一区| 在线视频观看一区| 中文字幕日韩一区| 国产一区二区精品久久91| 日韩一区二区三区四区| 亚洲午夜精品17c| 91福利精品视频| 亚洲免费视频成人| 99热国产精品| 中文字幕亚洲视频| youjizz国产精品| 国产精品久久综合| 北条麻妃一区二区三区| 国产精品高潮久久久久无| 国产成人精品综合在线观看 | 亚洲午夜影视影院在线观看| 97久久超碰国产精品电影| 中文字幕一区三区| 99re8在线精品视频免费播放| 中文字幕一区二区三区在线观看| 成人网在线免费视频| 欧美经典一区二区| 成人av在线播放网站|