Hatena::ブログ(Diary)

 | 

2010-04-11

N-Queens Problem

import Data.List

nqueensFilter :: [Int] -> Bool
nqueensFilter [] = True
nqueensFilter (x:xs)
    | elem x $ zipWith (+) xs [1..]++zipWith (-) xs [1..] = False
    | otherwise = nqueensFilter xs

nqueens :: Int -> [[Int]]
nqueens n = filter nqueensFilter $ permutations [1..n]

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/pi8027/20100411/nqueens
 | 
Connection: close