diff options
| author | Charles Cabergs <me@cacharle.xyz> | 2021-02-02 02:20:02 +0100 |
|---|---|---|
| committer | Charles Cabergs <me@cacharle.xyz> | 2021-02-02 02:20:02 +0100 |
| commit | 5aa6abf0166868f13f9ab64c91f3f4b62e05ed58 (patch) | |
| tree | cae2f20a5690a97ff579435b7b31c001fc47efc3 /src/main.rs | |
| parent | e77d75ea02abd2c8fd7e04af9f82063eb54d9eca (diff) | |
| download | connect4-5aa6abf0166868f13f9ab64c91f3f4b62e05ed58.tar.gz connect4-5aa6abf0166868f13f9ab64c91f3f4b62e05ed58.tar.bz2 connect4-5aa6abf0166868f13f9ab64c91f3f4b62e05ed58.zip | |
Added move order (solve from center to edges)
Diffstat (limited to 'src/main.rs')
| -rw-r--r-- | src/main.rs | 24 |
1 files changed, 12 insertions, 12 deletions
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::<Position>() { 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::<Position>().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); } |
