5个版本
0.2.3 | 2019年6月8日 |
---|---|
0.2.2 | 2019年6月5日 |
0.2.1 | 2019年6月4日 |
0.2.0 | 2019年6月4日 |
0.1.0 | 2019年6月3日 |
#699 in 游戏
24KB
526 行
sudoku-rs
数独求解库
数独求解
use sudoku_rs::{board, solver};
let mut b = board::Board::new();
let s = solver::DfsSolver::new();
let mut s = solver::DfsSolver::new();
s.solve(&mut b);
println!("{}", b);
唯一
use sudoku_rs::{board, solver};
let mut b = board::Board::new();
let mut s = solver::DfsSolver::new();
assert!(!s.unique(&mut b).unwrap());
等级
use sudoku_rs::{board, grade};
let mut b = board::Board::new();
let g = grade::Grade::new();
let scores = g.grade(&mut b);
println!("{:?}", scores);
接下来要做
- dfs求解
- 唯一性检查
- 数独等级
- 数独生成
lib.rs
:
一个数独库
数独求解
use sudoku_rs::{board, solver};
let sudoku_str = "400000805030000000000700000020000060000080400000010000000603070500200000104000000";
let mut b: board::Board = sudoku_str.parse().unwrap();
let s = solver::DfsSolver::new();
s.solve(&mut b);
println!("{}", b);
唯一
use sudoku_rs::{board, solver};
let mut b = board::Board::new();
let s = solver::DfsSolver::new();
assert!(!s.unique(&mut b).unwrap());
等级
use sudoku_rs::{board, grade};
let mut b = board::Board::new();
let g = grade::Grade::new();
let scores = g.grade(&mut b);
println!("{:?}", scores);