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 游戏

MIT许可证

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);

无运行时依赖