<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    J2EE之巔

     

    The Clojure Program To solve N Queens Problem

    The following program is about solving N-Queens problem (http://en.wikipedia.org/wiki/Eight_queens_puzzle) by Clojure. If you have the better solution in Clojure or Haskell, welcome to provide your solution.
    (ns queens)
    (defn conflictInRow? [queens newqueen]
      (some #(= newqueen %) queens)
    )
    (defn conflictInDia? [queens newqueen]
      (let [dia (count queens) 
            n1 (fn [queen] (Math/abs (- dia (.indexOf queens queen))))
            n2 (fn [queen] (Math/abs (- newqueen queen)))]
        (some #(= (n1 %) (n2 %)) queens)
       )
     )
    (defn conflict? [queens newqueen]
      (or (conflictInRow? queens newqueen) (conflictInDia? queens newqueen))
     )
    (def cnt (atom 0))
    (defn put-queens [queens newqueen boardSize ]
      (if (= (count queens) boardSize)  
        (do
          (println queens)
          (reset! cnt (inc @cnt))
        )
        (do 
          ;(println queens)
          (if (> newqueen boardSize)
         
               (if (and (= (peek queens) boardSize) (= (count queens) 1))
                   (throw (Exception. (str "That's all " @cnt)))
                   (recur (pop queens) (inc (peek queens)) boardSize )
               )
         
            (if (conflict? queens newqueen)
                
                 (recur queens (inc newqueen) boardSize )
                 
              (do
                 (put-queens (conj queens newqueen) 1 boardSize )
                 (recur queens (inc newqueen) boardSize )
               )
            )
           )
          )
        )
        
    )
    (defn queens [boardSize] 
        (put-queens [] 1 boardSize)
     )


    Chao Cai (蔡超)

    Sr. Software Dev Engineer 
    Amazon.com

     

    posted on 2012-08-05 23:26 超越巔峰 閱讀(2473) 評論(0)  編輯  收藏 所屬分類: Computer Science


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導航:
     

    導航

    統(tǒng)計

    常用鏈接

    留言簿(12)

    隨筆分類(54)

    隨筆檔案(59)

    文章分類(2)

    文章檔案(1)

    相冊

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲资源最新版在线观看| 成年女人毛片免费观看97| 亚洲人成无码久久电影网站| 亚洲激情视频图片| 67194成是人免费无码| 涩涩色中文综合亚洲| 成人免费视频小说| 亚洲区日韩精品中文字幕| 在线观看免费污视频| 亚洲a∨无码精品色午夜| 免费A级毛片无码A∨男男| 国产亚洲精品欧洲在线观看| 日产国产精品亚洲系列| 一级黄色毛片免费看| 亚洲熟妇丰满多毛XXXX| 国内少妇偷人精品视频免费| 亚洲午夜精品一区二区| 97国产免费全部免费观看| 亚洲日韩精品无码专区加勒比| 成人A级毛片免费观看AV网站| 亚洲国产精品ⅴa在线观看| 免费在线看片网站| 成人无码a级毛片免费| 亚洲视频2020| 日本二区免费一片黄2019| 曰批全过程免费视频免费看| 亚洲乳大丰满中文字幕| 永久在线观看www免费视频| 亚洲日韩亚洲另类激情文学| 亚洲午夜AV无码专区在线播放| baoyu777永久免费视频| 亚洲美女激情视频| 国产成人高清精品免费鸭子| 国产黄色片免费看| 亚洲性色成人av天堂| 国产精品免费一级在线观看| 成人A片产无码免费视频在线观看| 亚洲日本国产乱码va在线观看| 在线观看亚洲免费| 日韩av无码久久精品免费| 亚洲精品理论电影在线观看|