exact-cover-0.1.0.0: examples/sudoku/Main.hs
module Main where
import Math.ExactCover
import Sudoku
import Control.Monad (forever)
main :: IO ()
main = do
let f sudokuPuzzleStr =
case solve . toConstraints . readLineFormat $ sudokuPuzzleStr of
[] -> putStrLn "No solution."
soln@(_:_) -> print . convert2SolvedGrid $ soln
forever $ do
putStrLn "Enter puzzle in single line format:"
putStrLn "(e.g. 8..........36......7..9.2...5...7.......457.....1...3...1....68..85...1..9....4..)"
getLine >>= f