amutake / PuzzleSolver

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Pencil Puzzle Solver

MiniSatというSATソルバを利用したパズルソルバです。 MiniSatをインストールし、main.hsをコンパイルしてください。

$ ghc -O main.hs

現在、数独とイラストロジックに対応しています。

./main <PuzzleType> <FilePath> で実行します。

PuzzleTypeは、sudoku(数独)、illustlogic(イラストロジック)です。

数独

入力するファイルは、 ・はじめの行に"ブロックの行サイズ ブロックの列サイズ" ・二行目以降に問題 としてください。

ブロックが 1 2 3 4 5 6 なら行サイズは2、列サイズは3です。

例)

3 3

2 5 0 0 3 0 0 4 6
0 0 9 0 2 0 0 0 8
4 3 0 7 6 1 0 0 9
0 0 0 6 0 0 0 0 0
1 0 0 9 8 4 0 0 5
0 0 0 0 0 2 0 0 0
3 0 0 1 4 8 0 7 2
8 0 0 0 7 0 9 0 0
7 4 0 0 9 0 0 5 3

イラストロジック

入力するファイルは、 ・はじめの行に"行サイズ 列サイズ" ・二行目以降は行の制約条件の数字、その後に列の制約条件の数字 としてください。

例)

15 15
 
0
1 2
2 1
1 2
3 1 3
8 1
10 1
12
10 1
12
12
12
10
3 3
0
 
0
0
7
9
10
10
9
12
1 8
1 1 9
1 2 8
1 1 8
1 1 4
7 
0

About


Languages

Language:Haskell 100.0%