Skip to content

oscar6echo/snake-cube-rust

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Snake Cube Solver

Finds all solutions to 3D snake cube puzzle in <0.5s 🏁 🎉

Commands:

# build sequential search - output in bin/
just build-seq

# build parallel search - output in bin/
just build-par

# -----------------------------------------------
# run sequential search - output in solutions.json
just run-seq

START Snake Cube solver
start search_from_all_pos_sequential
sequence_in = []

done search_from_pos [0, 0, 0] runtime: 445.980378ms nb sol: 39718
done search_from_pos [0, 0, 1] runtime: 58.781836ms nb sol: 0
done search_from_pos [0, 0, 2] runtime: 2.47µs nb sol: 0
done search_from_pos [0, 1, 0] runtime: 168.300504ms nb sol: 0
done search_from_pos [0, 1, 1] runtime: 38.221371ms nb sol: 1906
done search_from_pos [0, 1, 2] runtime: 945ns nb sol: 0
done search_from_pos [0, 2, 0] runtime: 137ns nb sol: 0
done search_from_pos [0, 2, 1] runtime: 80ns nb sol: 0
done search_from_pos [0, 2, 2] runtime: 84ns nb sol: 0
done search_from_pos [1, 0, 0] runtime: 314.545223ms nb sol: 0
done search_from_pos [1, 0, 1] runtime: 51.005303ms nb sol: 1301
done search_from_pos [1, 0, 2] runtime: 1.856µs nb sol: 0
done search_from_pos [1, 1, 0] runtime: 149.508413ms nb sol: 8779
done search_from_pos [1, 1, 1] runtime: 33.577398ms nb sol: 0
done search_from_pos [1, 1, 2] runtime: 592ns nb sol: 0
done search_from_pos [1, 2, 0] runtime: 88ns nb sol: 0
done search_from_pos [1, 2, 1] runtime: 57ns nb sol: 0
done search_from_pos [1, 2, 2] runtime: 56ns nb sol: 0
done search_from_pos [2, 0, 0] runtime: 46ns nb sol: 0
done search_from_pos [2, 0, 1] runtime: 32ns nb sol: 0
done search_from_pos [2, 0, 2] runtime: 32ns nb sol: 0
done search_from_pos [2, 1, 0] runtime: 31ns nb sol: 0
done search_from_pos [2, 1, 1] runtime: 32ns nb sol: 0
done search_from_pos [2, 1, 2] runtime: 33ns nb sol: 0
done search_from_pos [2, 2, 0] runtime: 33ns nb sol: 0
done search_from_pos [2, 2, 1] runtime: 32ns nb sol: 0
done search_from_pos [2, 2, 2] runtime: 32ns nb sol: 0

done  search_from_all_pos_sequential
        runtime = 1.26206658s
        nb sol  = 51704
save solutions as solutions.json
        done in 38.628943ms

END Snake Cube solver

# -----------------------------------------------
# run parallel search - output in solutions.json
just run-par

START Snake Cube solver
start search_from_all_pos_parallel

done search_from_pos [0, 2, 0] runtime: 832ns nb sol: 0
done search_from_pos [2, 0, 0] runtime: 221ns nb sol: 0
done search_from_pos [0, 2, 1] runtime: 449ns nb sol: 0
done search_from_pos [0, 2, 2] runtime: 230ns nb sol: 0
done search_from_pos [2, 0, 1] runtime: 155ns nb sol: 0
done search_from_pos [2, 0, 2] runtime: 215ns nb sol: 0
done search_from_pos [2, 1, 0] runtime: 186ns nb sol: 0
done search_from_pos [2, 1, 1] runtime: 103ns nb sol: 0
done search_from_pos [1, 1, 2] runtime: 5.423µs nb sol: 0
done search_from_pos [2, 1, 2] runtime: 166ns nb sol: 0
done search_from_pos [2, 2, 0] runtime: 153ns nb sol: 0
done search_from_pos [2, 2, 1] runtime: 142ns nb sol: 0
done search_from_pos [1, 2, 1] runtime: 694ns nb sol: 0
done search_from_pos [1, 2, 2] runtime: 453ns nb sol: 0
done search_from_pos [1, 2, 0] runtime: 311ns nb sol: 0
done search_from_pos [0, 0, 2] runtime: 17.428µs nb sol: 0
done search_from_pos [2, 2, 2] runtime: 106ns nb sol: 0
done search_from_pos [1, 0, 2] runtime: 7.838µs nb sol: 0
done search_from_pos [0, 1, 2] runtime: 2.702µs nb sol: 0
done search_from_pos [1, 1, 1] runtime: 57.520807ms nb sol: 0
done search_from_pos [0, 1, 1] runtime: 64.220865ms nb sol: 1906
done search_from_pos [0, 0, 1] runtime: 74.440896ms nb sol: 0
done search_from_pos [1, 0, 1] runtime: 76.065942ms nb sol: 1301
done search_from_pos [0, 1, 0] runtime: 184.61434ms nb sol: 0
done search_from_pos [1, 1, 0] runtime: 211.677663ms nb sol: 8779
done search_from_pos [1, 0, 0] runtime: 376.667645ms nb sol: 0
done search_from_pos [0, 0, 0] runtime: 471.165136ms nb sol: 39718

done  search_from_all_pos_parallel
        runtime = 474.585523ms
        nb sol  = 51704
save solutions as solutions.json
        done in 40.712876ms

END Snake Cube solver

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published