diff options
| author | Charles Cabergs <me@cacharle.xyz> | 2021-02-02 15:27:02 +0100 |
|---|---|---|
| committer | Charles Cabergs <me@cacharle.xyz> | 2021-02-02 15:27:02 +0100 |
| commit | 9d979e4df14f90128e3522ef31b1fca07fb81f8c (patch) | |
| tree | 16d4149afc5def79ac7f9f3045c7a5664afdf517 /src/main.rs | |
| parent | 15efc494b99492df189389474bb981d0ec5ce2b3 (diff) | |
| download | connect4-9d979e4df14f90128e3522ef31b1fca07fb81f8c.tar.gz connect4-9d979e4df14f90128e3522ef31b1fca07fb81f8c.tar.bz2 connect4-9d979e4df14f90128e3522ef31b1fca07fb81f8c.zip | |
Moved solver in a struct
Diffstat (limited to 'src/main.rs')
| -rw-r--r-- | src/main.rs | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/src/main.rs b/src/main.rs index 5dde7cb..4a07373 100644 --- a/src/main.rs +++ b/src/main.rs @@ -3,15 +3,17 @@ use std::io::prelude::*; use std::time::{Instant,Duration}; pub mod position; -pub mod solve; +pub mod solver; use position::Position; -use solve::{solve, solve_weak}; +use solver::Solver; fn main() { let mut total_time = Duration::new(0, 0); let mut total_solve = 0; + let mut total_visited = 0; + let mut solver = Solver::new(); for result in io::stdin().lock().lines() { let line = result.unwrap(); @@ -31,19 +33,21 @@ fn main() { Ok(pos) => { print!("{:?}", pos); let begin = Instant::now(); - let score = solve(pos); + let score = solver.solve(pos); let elapsed = begin.elapsed(); - println!("{:03}: score: {:3}, time: {:?}\n", total_solve, score, elapsed); - // if score != expected_score { - // eprintln!("{:03}: score: {:3} {:3}", total_solve, score, expected_score); - // } - // assert_eq!(score, expected_score); + println!("{:03}: score: {:3}, time: {:?}, visited {}\n", total_solve, score, elapsed, solver.visited); + if score != expected_score { + eprintln!("{:03}: score: {:3} {:3}", total_solve, score, expected_score); + } + assert_eq!(score, expected_score); total_time += elapsed; total_solve += 1; + total_visited += solver.visited; + solver.reset(); } Err(msg) => eprintln!("wrong score format {:?}: {}", fields[1], msg), } } - println!("mean time {:?}", total_time / total_solve); + println!("mean time: {:?} | mean visited {}", total_time / total_solve, total_visited / total_solve as usize); } |
