Crates.io | binairo |
lib.rs | binairo |
version | 0.1.1 |
source | src |
created_at | 2022-04-20 09:47:13.154615 |
updated_at | 2022-04-20 10:28:05.51595 |
description | A binairo solver. |
homepage | |
repository | https://github.com/Marty3000/binairo.git |
max_upload_size | |
id | 570890 |
size | 31,705 |
cargo install binairo
As far as i know, the objective is to fill a quadratic NxN grid with 1s and 0s, so that
binairo
will read 2 arguments. The first one is mandatory:
binairo <input-file-name> <number of solutions to print>
'input-file-name' should be the file that defines the starting board (see ./examples directory)
'number of solutions to print' defaults to 1
compile
$ cargo build --release
Compiling binairo v0.1.0 (/home/davezwieback/rust_src/binairo)
Finished release [optimized] target(s) in 1.12s
and search for the first solution of one of the examples
$ ./target/release/binairo ./examples/6x6.cfg
Will read input file: ./examples/6x6.cfg
Starting for:
╔═══════════════════════╗
║ . │ 1 │ . │ . │ . │ . ║
║───┼───┼───┼───┼───┼───║
║ . │ . │ . │ . │ . │ 1 ║
║───┼───┼───┼───┼───┼───║
║ . │ . │ . │ 0 │ . │ . ║
║───┼───┼───┼───┼───┼───║
║ 0 │ . │ . │ 0 │ . │ . ║
║───┼───┼───┼───┼───┼───║
║ . │ . │ . │ . │ 1 │ . ║
║───┼───┼───┼───┼───┼───║
║ . │ 1 │ 1 │ . │ 1 │ . ║
╚═══════════════════════╝
Found 1 Solution(s):
╔═══════════════════════╗
║ 0 │ 1 │ 0 │ 1 │ 0 │ 1 ║
║───┼───┼───┼───┼───┼───║
║ 1 │ 0 │ 0 │ 1 │ 0 │ 1 ║
║───┼───┼───┼───┼───┼───║
║ 1 │ 0 │ 1 │ 0 │ 1 │ 0 ║
║───┼───┼───┼───┼───┼───║
║ 0 │ 1 │ 1 │ 0 │ 0 │ 1 ║
║───┼───┼───┼───┼───┼───║
║ 1 │ 0 │ 0 │ 1 │ 1 │ 0 ║
║───┼───┼───┼───┼───┼───║
║ 0 │ 1 │ 1 │ 0 │ 1 │ 0 ║
╚═══════════════════════╝
Time: 0.000047579 sec
search for the first 5 solutions of one of the examples ( in fact, there are only 3)
$ ./target/release/binairo ./examples/10x10.cfg 5
Will read input file: ./examples/10x10.cfg
Starting for:
╔═══════════════════════════════════════╗
║ . │ . │ . │ . │ . │ . │ 1 │ 0 │ . │ . ║
║───┼───┼───┼───┼───┼───┼───┼───┼───┼───║
║ . │ 0 │ . │ . │ . │ . │ . │ . │ . │ . ║
║───┼───┼───┼───┼───┼───┼───┼───┼───┼───║
║ . │ . │ 1 │ . │ . │ 1 │ . │ 1 │ . │ . ║
║───┼───┼───┼───┼───┼───┼───┼───┼───┼───║
║ . │ 0 │ 1 │ 0 │ . │ 0 │ . │ . │ . │ 1 ║
║───┼───┼───┼───┼───┼───┼───┼───┼───┼───║
║ . │ 0 │ . │ . │ . │ . │ 0 │ . │ 1 │ . ║
║───┼───┼───┼───┼───┼───┼───┼───┼───┼───║
║ . │ . │ . │ . │ 0 │ . │ . │ 1 │ 1 │ . ║
║───┼───┼───┼───┼───┼───┼───┼───┼───┼───║
║ . │ . │ 0 │ . │ . │ . │ . │ . │ . │ . ║
║───┼───┼───┼───┼───┼───┼───┼───┼───┼───║
║ . │ . │ . │ . │ 0 │ 1 │ . │ . │ . │ . ║
║───┼───┼───┼───┼───┼───┼───┼───┼───┼───║
║ 1 │ 1 │ . │ 0 │ . │ 1 │ . │ . │ . │ . ║
║───┼───┼───┼───┼───┼───┼───┼───┼───┼───║
║ 1 │ . │ . │ . │ 1 │ . │ . │ . │ . │ 0 ║
╚═══════════════════════════════════════╝
Found 3 Solution(s):
╔═══════════════════════════════════════╗
║ 0 │ 0 │ 1 │ 1 │ 0 │ 0 │ 1 │ 0 │ 1 │ 1 ║
║───┼───┼───┼───┼───┼───┼───┼───┼───┼───║
║ 1 │ 0 │ 0 │ 1 │ 0 │ 0 │ 1 │ 0 │ 1 │ 1 ║
║───┼───┼───┼───┼───┼───┼───┼───┼───┼───║
║ 0 │ 1 │ 1 │ 0 │ 1 │ 1 │ 0 │ 1 │ 0 │ 0 ║
║───┼───┼───┼───┼───┼───┼───┼───┼───┼───║
║ 0 │ 0 │ 1 │ 0 │ 1 │ 0 │ 1 │ 1 │ 0 │ 1 ║
║───┼───┼───┼───┼───┼───┼───┼───┼───┼───║
║ 1 │ 0 │ 0 │ 1 │ 0 │ 1 │ 0 │ 0 │ 1 │ 1 ║
║───┼───┼───┼───┼───┼───┼───┼───┼───┼───║
║ 0 │ 1 │ 1 │ 0 │ 0 │ 1 │ 0 │ 1 │ 1 │ 0 ║
║───┼───┼───┼───┼───┼───┼───┼───┼───┼───║
║ 1 │ 1 │ 0 │ 0 │ 1 │ 0 │ 1 │ 1 │ 0 │ 0 ║
║───┼───┼───┼───┼───┼───┼───┼───┼───┼───║
║ 0 │ 0 │ 1 │ 1 │ 0 │ 1 │ 1 │ 0 │ 0 │ 1 ║
║───┼───┼───┼───┼───┼───┼───┼───┼───┼───║
║ 1 │ 1 │ 0 │ 0 │ 1 │ 1 │ 0 │ 0 │ 1 │ 0 ║
║───┼───┼───┼───┼───┼───┼───┼───┼───┼───║
║ 1 │ 1 │ 0 │ 1 │ 1 │ 0 │ 0 │ 1 │ 0 │ 0 ║
╚═══════════════════════════════════════╝
╔═══════════════════════════════════════╗
║ 0 │ 0 │ 1 │ 1 │ 0 │ 0 │ 1 │ 0 │ 1 │ 1 ║
║───┼───┼───┼───┼───┼───┼───┼───┼───┼───║
║ 1 │ 0 │ 0 │ 1 │ 1 │ 0 │ 1 │ 0 │ 0 │ 1 ║
║───┼───┼───┼───┼───┼───┼───┼───┼───┼───║
║ 0 │ 1 │ 1 │ 0 │ 0 │ 1 │ 0 │ 1 │ 1 │ 0 ║
║───┼───┼───┼───┼───┼───┼───┼───┼───┼───║
║ 0 │ 0 │ 1 │ 0 │ 1 │ 0 │ 1 │ 1 │ 0 │ 1 ║
║───┼───┼───┼───┼───┼───┼───┼───┼───┼───║
║ 1 │ 0 │ 0 │ 1 │ 0 │ 1 │ 0 │ 0 │ 1 │ 1 ║
║───┼───┼───┼───┼───┼───┼───┼───┼───┼───║
║ 0 │ 1 │ 1 │ 0 │ 0 │ 1 │ 0 │ 1 │ 1 │ 0 ║
║───┼───┼───┼───┼───┼───┼───┼───┼───┼───║
║ 1 │ 1 │ 0 │ 0 │ 1 │ 0 │ 1 │ 1 │ 0 │ 0 ║
║───┼───┼───┼───┼───┼───┼───┼───┼───┼───║
║ 0 │ 0 │ 1 │ 1 │ 0 │ 1 │ 1 │ 0 │ 0 │ 1 ║
║───┼───┼───┼───┼───┼───┼───┼───┼───┼───║
║ 1 │ 1 │ 0 │ 0 │ 1 │ 1 │ 0 │ 0 │ 1 │ 0 ║
║───┼───┼───┼───┼───┼───┼───┼───┼───┼───║
║ 1 │ 1 │ 0 │ 1 │ 1 │ 0 │ 0 │ 1 │ 0 │ 0 ║
╚═══════════════════════════════════════╝
╔═══════════════════════════════════════╗
║ 0 │ 1 │ 1 │ 0 │ 1 │ 0 │ 1 │ 0 │ 0 │ 1 ║
║───┼───┼───┼───┼───┼───┼───┼───┼───┼───║
║ 1 │ 0 │ 0 │ 1 │ 0 │ 0 │ 1 │ 0 │ 1 │ 1 ║
║───┼───┼───┼───┼───┼───┼───┼───┼───┼───║
║ 0 │ 1 │ 1 │ 0 │ 0 │ 1 │ 0 │ 1 │ 1 │ 0 ║
║───┼───┼───┼───┼───┼───┼───┼───┼───┼───║
║ 0 │ 0 │ 1 │ 0 │ 1 │ 0 │ 1 │ 1 │ 0 │ 1 ║
║───┼───┼───┼───┼───┼───┼───┼───┼───┼───║
║ 1 │ 0 │ 0 │ 1 │ 0 │ 1 │ 0 │ 0 │ 1 │ 1 ║
║───┼───┼───┼───┼───┼───┼───┼───┼───┼───║
║ 0 │ 1 │ 1 │ 0 │ 0 │ 1 │ 0 │ 1 │ 1 │ 0 ║
║───┼───┼───┼───┼───┼───┼───┼───┼───┼───║
║ 1 │ 0 │ 0 │ 1 │ 1 │ 0 │ 1 │ 1 │ 0 │ 0 ║
║───┼───┼───┼───┼───┼───┼───┼───┼───┼───║
║ 0 │ 0 │ 1 │ 1 │ 0 │ 1 │ 1 │ 0 │ 0 │ 1 ║
║───┼───┼───┼───┼───┼───┼───┼───┼───┼───║
║ 1 │ 1 │ 0 │ 0 │ 1 │ 1 │ 0 │ 0 │ 1 │ 0 ║
║───┼───┼───┼───┼───┼───┼───┼───┼───┼───║
║ 1 │ 1 │ 0 │ 1 │ 1 │ 0 │ 0 │ 1 │ 0 │ 0 ║
╚═══════════════════════════════════════╝
Time: 0.000597198 sec
Thank you too everyone who participated in the development of rust, cargo, atom or any crate. I really enjoyed to benefit from this great work.