Struct solve_sudoku9x9::Solver[][src]

pub struct Solver { /* fields omitted */ }
Expand description

9x9の数独の問題を解くソルバー。
※必ず解けるわけではない…

Example

use solve_sudoku9x9::*;
let mut field: Vec<Vec<u32>> = vec![/* 9x9の数独の問題 */];
let solver = Solver::default();
match solver.solve(&mut field) {
    Ok(_) => println!("解けました! {:?}", field),
    Err(Error::Unsolved) => println!("解けませんでした"),
    Err(error) => println!("入力にミスがあります! {}", error),
}

Implementations

任意のパラメータでSolverを生成。
各パラメータの意味の説明は省略。

  • パラメータtry_countは1以上 (100以上を推奨) (default: 200)
  • パラメータiter_countは1000以上 (5000以上を推奨) (default: 10000)
  • パラメータcooling_speedは1未満の正の値 (0.5以上を推奨) (default: 0.8)
  • パラメータrandom_seedは任意の値 (9桁以上を推奨) (default: 5489)

9x9の数独を解く。
パラメータfieldは9x9のu32型の2次元配列、空きマスは0、それ以外は1~9を埋めておく、solve処理で空きマスには1~9の数値が埋められる。
戻り値は、

  • Ok(ステップ数) … 解くのに成功した場合に返る。ステップ数は解くまでにかかった処理量。
  • Err(Unsolved) … 解くのに失敗した場合に返る。fieldにはでたらめな数値が埋まっている状態。
  • Err(その他) … 入力のfieldに不備があった場合に返る。

Trait Implementations

デフォルトのパラメータでSolverを生成。

  • パラメータtry_countは200
  • パラメータiter_countは10000
  • パラメータcooling_speedは0.8
  • パラメータrandom_seedは5489

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.