From 5aa6abf0166868f13f9ab64c91f3f4b62e05ed58 Mon Sep 17 00:00:00 2001 From: Charles Cabergs Date: Tue, 2 Feb 2021 02:20:02 +0100 Subject: Added move order (solve from center to edges) --- src/main.rs | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'src/main.rs') diff --git a/src/main.rs b/src/main.rs index f7b6a6e..e77ce2b 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,6 +1,6 @@ use std::io; use std::io::prelude::*; -use std::collections::HashMap; +use std::time::{Instant,Duration}; pub mod position; pub mod solve; @@ -10,6 +10,9 @@ use solve::solve; fn main() { + let mut total_time = Duration::new(0, 0); + let mut total_solve = 0; + for result in io::stdin().lock().lines() { let line = result.unwrap(); let fields: Vec<&str> = line.split_ascii_whitespace().collect(); @@ -26,20 +29,17 @@ fn main() { }; match fields[0].parse::() { Ok(pos) => { - // println!("{:?}", pos); - let mut cache = HashMap::with_capacity(30000); - println!("score: {:3} {:3}", solve(pos, -10000, 10000, &mut cache), expected_score); + print!("{:?}", pos); + let begin = Instant::now(); + let score = solve(pos); + let elapsed = begin.elapsed(); + total_time += elapsed; + total_solve += 1; + println!("score: {:3} {:3}, time: {:?}\n", score, expected_score, elapsed); } Err(msg) => eprintln!("wrong score format {:?}: {}", fields[1], msg), } } - - // let mut p = "7422341735647741166133573473242566".parse::().unwrap(); - // p = p.play(2); - // p = p.play(2); - // p = p.play(1); - // p = p.play(5); - // println!("{:?}", p); - // println!("{}", solve(p.clone(), -10000, 100000)); + println!("mean time {:?}", total_time / total_solve); } -- cgit