Commit d5529338 authored by  tawada's avatar tawada

Merge branch 'master' of togawa-gitlab:adc2019/twd-solver

parents 88ecc3df 1da47298
# twd-solver
# SAT-based solver
- minisatを使って配置配線パズルを解くよ
- 定数
- 盤面幅 W
- 盤面高 H
- ブロック数 N
- ライン数 M
### 変数リテラル
- 変数リテラルは2種類
- ブロック配置 bn_x_y
- ライン配線 lm_x_y
- WH(N+M)個のリテラル
##### ブロック配置
- bn_x_y
- 1 <= n <= N
- 0 <= x < W
- 0 <= y < H
- e.g. ```b1_0_2=1```はブロック1を座標(0,2)に配置することを意味する
##### ライン配線
- lm_x_y
- 1 <= m <= M
- 0 <= x < W
- 0 <= y < H
- e.g. ```l1_0_2=1```は座標(0,2)のマスをライン1で配線することを意味する
### 制約
- ブロックone-hot 制約
- ライン重複禁止制約
- ブロックの盤面はみ出し禁止制約
- ブロック上のライン位置決定制約
- ブロック重複禁止制約
- 端点制約(ブロック上のラインは2個以上接続してはいけない)
- ライン孤立禁止制約
- 非端点制約(ブロック上にないラインは2個以上接続しないといけない)
- ライン三叉禁止制約
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment