ErsatzはSATソルバの入力をモナドの力で生成してくれるライブラリ。適当にexistsとassertを並べればうまくやってくれるらしい。ということで、数独ソルバを実装してみた。素晴らしい… import Prelude hiding ((||), (&&), not, and, or) import Data.Char import Data.Array import Data.Ix import Data.Word import Control.Monad import Control.Monad.State import Ersatz -- (ersatz-0.2) fieldRange = ((1,1),(9,9)) unique :: Equatable a => [a] -> Bit unique = go [] where go ss (x:xs) = and (map (
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く