diff --git a/.github/workflows/Day-17.yml b/.github/workflows/Day-17.yml new file mode 100644 index 0000000..fb5bbab --- /dev/null +++ b/.github/workflows/Day-17.yml @@ -0,0 +1,18 @@ +name: Day-17 + +on: + workflow_dispatch: + push: + paths: + - '**17*' + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: Build + run: cargo build --release --verbose + - name: Run + run: time target/release/aoc 17 diff --git a/src/day_17.data b/src/day_17.data new file mode 100644 index 0000000..f82ac97 --- /dev/null +++ b/src/day_17.data @@ -0,0 +1 @@ +>>>><<><<<<><<<>>><<<>><>>>><<<>>>><<>>><<<<>>><<<<>><>>><<<<><<<<>>>><<>>><<><<><<<>><>>><<>><<<<>><>>><>>><<<<>>>><<>>><<<>><>>>><<<<>>><<>>><<>>>><<<>>>><<<><>>><<<<>>><>>>><<<>>>><<>>><<<<>><<>><<>>><>>>><<<<>>>><<<<>>>><<><<<>>>><<<>>><>><<<><<>><>>>><<>>>><<>>>><<<>>>><<<<><<<<>>>><>>>><<<>>>><<<><<<<>>><<>><<<>>><<>><<<<>>><>>><>>><<<><><<<<>>>><<>>><<<>>>><<<<>>>><<><<>>><>>><<><>>><<<<>>><<<<>>>><<<<>>><<>><<<<>>>><>><<<>>>><<<<>>><><<><>>>><<<<>>><>>>><<<>>>><<<>>>><<>>><<<<>><<>>>><<<<><<<><<<>>>><<<>>>><>><>>>><<<<>>>><><<>>>><<<>>><<<><>>><<>>><>><<<<>>>><<<><<><<>><>><<>>>><<<>>><<<<>>><<<>>><<>>>><<<><<<>>>><>>><><><<<<>>><<><<<>>>><<<<>>>><<<>>>><><<<<>><<<<>>><<<>><<<><>>><<<<>><<<><<<>>>><<>>><<><<<>>><>><<>>><>>>><<<><<><<<>><<<<>><>>>><<><<<<>>>><<>><<>>>><<<>><<<>>>><<<>><<<>><<<<><>>>><<>>><<<>>>><<<<>>><<>>>><<<<>>><<<<>>><<<<>>><<>>><<<<>>>><><<<<>>><<<>>><<>><<<<>>>><<>><><<<>>><<<<>>>><<<>>>><<<>>>><<<>>><><<<<>>><<<>>><<<<>><><<>>>><<<>><<<>>>><<<>>><<<><<<<>>><<<>>>><>>>><><>>>><>><<<<>>>><><<<<>>>><<>>><<<<>>>><>>>><<<<>><<<>>>><<<<><<><><>><>><<<<><<<>><>><<>><<>><<<>>>><<<>><<<><<<<>>><<<<>>><<<<>>><<<>>><<<<>>><<<><<<>><>>><<<<><<<>>>><<>>>><<<<>><>>><<<<>>>><<>><<<><<<<>><<<<>>>><<<>>>><>><<<>>><<<><>>>><<<>><><<<<><<<><<<<>>>><><<>>><<>><<><<<>><<<<>>>><<<<><<<><<<<><<<<>><<<<>>><<<>>><>><<<<>>>><<<<><<<<><<<<>><>><<<<>>>><<<<>>>><<<<>><<<<>>>><><>><<<>>>><<><<><>>><<<>>>><<<<>>>><>>>><>><<<<>><<<>>>><<<><<<<>>>><><<<<>>><<<<>>><<<><><<<>><<<<><<<>>><<<<><<<>>><<<<><<<>>><>>><<>><>>><><>><<><>>><<>>><<<<>>>><<>>>><>>><>><>>>><<<><>>>><<<><<<>>><<<><<<>>><<>>>><<<<>>><>><<<<>>>><<<>>><><<<>>><<>>><><<<<><<>><<<>><<<<>>><<<><<>>><<>>>><<<<>>><<<><<>><<<<>>>><>>>><<<>>><<>><<<<>>><<>>><<<>>><<<<>>>><<>><<>><<<>><><<>><<<><<<>>><<<>><<<<><<><<>>>><<<<>>><><<<><<<<>><<<>>><<>>><>>>><>><>>><<<>>>><<><<>><>><<<>>>><<>>>><>>><<<<>>><<<<>>><<<>><<<<>>><<<>>>><>><<>><><<<<><<>><<>><<<>><<>>>><<><<>>><><><<<<>>><>>><<<>><<<<><<<<>>>><>><<<<>>>><>>><<>>><>>>><<<<><><<<<>>>><>>>><<>>><<><<<>><<<><<>>><<<<><<<>><<><<<>><<>>><<<<><>>>><>><<<<>><<<>><<><<><<<<>>>><><>><>><<<><<<<>>><<<<><<>>>><<<<>>>><<>>>><<>><<>><>><<<<>>>><<<<>>><<<><<<>>><<><<<<>>>><<<>>>><<<<>>>><<<>>><>><<<<>><><<<<>>>><<>>>><<<><<<>>><><>><<<><<<>>><<><<<>><<<<>>><><<<>>>><><><<>>><<<>><>>><<><<<>><><<>>><<<<>>><<>><<<>>><>><><<><<<<><<<<>>><<>>>><<<>><>><<<<>><<>>>><<>>>><<<>>><<<<><><<<<>>>><>>>><>>>><>><<>>>><>>>><<<>>>><<<><<<><<>>><>><>>><>>>><<>>><<<><>><<<<>><<<<><><<<><<>><<<<>>><<<<><<<<>>><<>>><<<<>><>>>><>><<<<>>><><<<<><<>><<<<><<>>><<<>><<<<>>><<<>><<<><<>><<<<>>><<><><<<>>><<<<>>><<<>>><<<><<>><>>><<<>>><<<>><<><<<>>><<<<>><<<><<<<>><>><<>><><>>><<<>>>><<<>>><<<>><>>><><<>>>><<<<><<<>>><<<>>>><<>>><<<>><<<<>>>><<<>>>><>>>><<<<>>>><<<<>><<>><>><<>>><<>>><<>>><<<<><>>>><<<<>>><>>>><<<<>>><<<<>>><<<>><<<>>>><<>>>><<<>>><>>><<<<><<<>>><<<<>><<>>>><>>>><<<<>>>><<<<>><<<<><>>>><<>><<<>>><<<<>>><<><><<>><<>><<<>>><<>>><<<<>>><<<>>>><>><<<>>>><<<>>>><<<>>><>>>><<<>><>><<<<>><>>><<<<>><<>>><<<>><<>>>><<<<>>><<>>><<<><<<>>>><<><<><>>><<<><<>>><<<>>><>>>><<>>>><<<<>>>><<>><<<>>><<>>><<<>><<<>><<>>><<<>>><<<>>>><<<>>><>><<>>><<>><<>>>><><<<><<><<<>>><<<<>>><<<<>><<<<>><<><<<>>>><<<>>>><<<>><<<>><<>>><<<>>><<<<>>>><<<>><<>>>><>>>><<<>><<<<>>>><<<<><<<<>><<>><<<<>>>><<<>>><<<>><>>><>>>><<<<>><<<<>>><<<><<<<>>>><><>><<>><<<<>>>><<>>><<<>>><<>>><<<><<<>>><<>><<<>>>><<>>>><>><>>><<<<>>><<>>><<<><>>><<<>>>><<<>>><><<><<<>><<<><><<>>>><<<>><<<<>>><<<><>><>>>><>>><<>>>><>>><<<<>>><<<>>><<>>><>><<><>><<<>>><<<>><<<><<>><<<><<><<<<><>><<<><<><<<>>>><>>><<<<>>>><<<>>><<><<>><<<<>><>>><>>><<>>><<<<>>><<<<>>>><<<>><<>><<<<>><<<><<<>>><<>>><>><>>>><<><<<>>><<>><<<<>>><>>><<<<>><<<><<>>><<<<><<>><><<<>><><<<>>>><<<><<>>><>>><<<><>>><<<>>><<<<>>><<<<>><>><<>>><<<>>>><<<><<><<<>><<<<>>>><<<>>><<<<>>><<>>>><<<<>>><<<<><<<>><<><<>><<<<>>><<<>>>><<<<>>>><<<><<<<><<>><<<><<<<>><>>><<>><<><>>>><>><<<<>>><<<<><<<<>>><<>>><<>><<<<><<<>>><>>>><<<>><<<>><<<<><<<>>><><<>><<<<>><<<<>>>><<<<>><<<<>>><>><<<>>>><>>>><<<>>>><<>>><<<<>>><>>>><<>>><<<>>><<<>><>>>><<<<>><>>><<<>>>><<>>>><<<<>>><<<<><>>>><>>><>>><<<>><<<>><<<>>>><>>>><<>>>><<<<>>>><<<>>><<<>><>>><<<<>>>><<>>>><>>><<<>>><<>>>><<<<>>>><<<<><<<><<>>>><<<><<>>><<<<>><<<>>>><<<>><<>>><<<<><<<>>>><<<<><<<<>><>><<<>>>><><>>><<<>>><<<>>><><>>>><>>><<>>>><<<<>>>><<>>>><>>><<><>>>><<>><<>>><<<<>>><<<>><<<<>>><><<<<>><<<<>>><>><<<<>>><<<><<<<><><<<<>>><<><>><<<<>>><>>>><><<>>>><<<><>>>><>>>><<<>>><<<<>>>><<>><<><<<<><<<<>><>>>><<<<>>>><<<>>>><>>><<<>><<<>><<<>>>><<<>>>><<<>>>><<<<>><>>>><<>>><>><>>><<<<>>><<>>>><<<<><>>>><<<<>>>><<<<>>>><<<<>>>><<<>><<<<><<<>>><<>>><<>><>>><><<>><<><<<<>>><>><>>><<<<>>>><>><<<>>><>>>><<<><<<<><<<<>><>><<>><<<><<<<><<<>>><><>>><<>>>><<>><<<>>><>><<<>><><<<>>><<<<><<>><<><<<><<<>>><>>><>><<<<>>><><<<<>>>><<<<>><<<<>>><<<><<<<>><<<<><<>>><<<<><>>>><>><<<<><>><>>><<<>><<><<>><>>>><<<>>><<>>>><<<<>>>><>>>><<<><>>><<>><<<<>>><<<><<<<>>>><<<<>>><><<<>><<>><<<>><>>><<>><><>>>><>>><<<>>><<>>><<>>>><>><<<>>><>>><<<>><><<<>>><><<><><><<<<>>><<<>>><<<<>>>><<>><<>>><<<<>>><<<><<<>>><<<><<><<<><<<<><<><><<<<>><<<<>>><<<>><<<<>>><<<>>>><<>><<<><><<>>>><<>>>><><<>>>><<<><<<>>>><<<>>><>>><<<<>>><<<>><>>>><<><<<><>>>><<<<><<<<>>><>><<>>>><<<><>>>><<<><<>>>><<<<>>><>>><<<<>><<<>>>><>>><<<<>>><<>><<<>>>><<<<>>><<><<<<>>>><<>>>><<>>>><<<<>><<<<>><<>>><<>>>><>><<<>>>><>>>><<<<>>><<<<><<<<><<>><<>>>><>><<><<<<>>><<<<>>>><<<>>>><>><<<<>>><<>>><<<>><<<<>><<><<<>>><<<<>>>><<<<><<>><<><<>><<<>><<<<>>>><<<<><>>>><>>>><<<<>>><<>>><<>><<><<<>>><<<<>>>><<<><>>>><<<><<<>>>><<<><<<><<<<>>><<<<><<<<><<>>><<>><<>>>><>><<<<>>>><<<<>>><>>><<<>><<<<><<<>>>><<<>><<><<>><<<<><<><>>><<<<>>><>>><<>>><<<<>><<<<>><>>>><<><<>><>><<<<><<>>>><><<<><<<><>>><<<>><<<>>>><><<>>>><<<><>>><<<><>>>><<<<>><<<>>><<<><<>><<<>>><<>><<<>>>><<<>>>><>>>><<><><<><>><<><<>>><<><>>><>>><>>>><<>><<>>>><<<>>><<>><>>><>><<<<><<>>>><<<>>>><>>><<<>><>>>><<<<><<<>><>>><<<>>><<<<>><<<<><<><<<<><<<><<><<<>><<<<>>>><>>>><<<<>><<>>>><<><><<<>>><<<>>><<>><<<<><<>>><<<><><<>>><<<><<><<<>><<>><<>>>><>><<<<>>><<<<>>>><>><<<<><<<>>>><<<><<<>><<>>>><>><<<<>><<<<>>><<<>>>><<<>>><<<>>>><>>>><><<>>><<>>>><<<<>>><>>>><>>>><<<<>>>><>><<<<>><<>><<<><<>>><<<>>>><<<<>><<>>><<<<>>><<<>><<>>>><<<><<<>>><>>>><><<>><<<>>>><<<>>>><<><<<>><<>><<<<>><<<><<<<><<<<><<<>>><><<<>>><<<>>><>><<<>><<>>>><<<><<>>>><>><<<>>>><<>>>><<>>><<>>><>>><<<<><<<<><>>><><><>>>><<<<>>>><<<><><<<>>>><<<<>><<<<>>>><<<<><<<><<<<><<><<>><<<><<><<<<>>><<<<><<<<>>><>>><<>>><>><<>>><>>>><<<<>>><>>><<<<>><<<<>>><><<<<>><<<>>><<>>>><<<>>>><<><<<<>>>><<><<<<><<<>>><><<<>><<<>>>><>><<>>>><<>>>><<>><<<<><>>><<<<>>><>>>><<<><<>><<<<>>>><<>>><>><<<><<<>>>><>>>><<<<><<>>><<<<>>>><<<>><<<>>><><<<><<<>>>><<<<><<>><<<<>>><>><<<>>>><<<<>><<<<>>><<<<><<<<><<>><<<>>><<<<>><>>>><<<>>><<><>>>><>>><>>>><<<><><<<>>>><>>><>><<<<><<>>>><<<<>>>><>>>><<<>>>><>>>><<<>><<<>>><>>><<<>>><<><>><<<<>><>><>><><<>>>><<<>><<>>>><>><><<<>><<>>><>>>><<<<>><<<<>>>><<<<><>>>><<<<>><>>>><<<>>>><<>>><<>>><<<>>><<<>><<>><>>><><<<>>><<<><>>><<<<>>>><<>>>><<>>><<><<<><><<<<>><<>>>><<<<>><>><<>><<<>>><<<>>>><<><<<>>>><<<<><<<<>><>><<><<>>>><>>>><<>><<>><<><<>>><<<<><><><<<<>>>><>><>>><>><<<>>><<<<>>><<>>><<<<>>>><>>>><>>>><<<>>><<>>>><>>><><<<>>><<<<>>><<<>><<>>><<><>>><<><<>>><<<>><>>>><<><<><<<><<<>>><>>>><><<><<<>>><<<<><>>><>>><<>><<><<<>>>><><>>><<<><<<<>>>><>><<<<>><>>>><>><><<<<>>>><<>>>><>>><<<>><<>><<<<>>><<>>><<>>><<<><<><>><>>>><>>>><<>><<<<>><<>>>><<<><<>><<<><>><<<<><<<<>>><<<<><<<<>>><<><<>>><<>><<>>>><>>><<>><<<<><<<>>><<<<>><<<<><>><<<<>>>><>><>>>><>><>><<<<><<<>><<<<>><<<><<<<>>><<>><>>><>>><>><<>>><<<<>><<>>><<><<>>>><<<<><<<>>>><>>><>>>><<>>>><>><<>>><<><<<>>>><<<<>><><>><<<<>>><<>><<>><<<<><><<><<<>><<<<>><<>><<<><<>><<<<>>><>><>>><<<>>>><><>><><<>><>>><<<<>><<>><>>>><<>><<<<>><<>><<>>>><<<>>>><<<>>><<><>>><<>>>><<>>><<<>>>><<<>>><<<>><<>>><<>><<<<>>><<<<>><<<<>>><<>>><>><<<>>>><<<>><<<>>><<>>><<>>>><<<>><<<>><<<<><<<<>>><<<<>>><<>><<<>>><<<<>>>><>>>><<<>><<<<><>>>><<<>><<>><<>>><><<>>><>><>>><<<>>><<<<>>><<<>>><>>>><>><>>>><><<>>><>><<<>>><><<>>>><<>>><<<<><>>><<>>><>>><>><><<>><>>><<>><<>>><<<><<<<>>>><<<<>>><<<<>><<<><><<>><<<>><>>>><<<>><<<<><<<<>><<<<>>>><<<>>><><<<<><<><>><>>><>>>><<><<<>>>><>><><>>><<><<<>>><<>><<<<><<<>>><<><<>>><<<>>><<<<><>><<>><>>><<<<>><<><>>><<<<>><<<<>><<>>>><<<<>>><<><<>>><>>><>><<>><<<<>>><<<>><<<>>><<<<>><<>>><<<>>>><<<>>>><<><><><<<<>><<<>>><<<<>>>><<>>><<<<>><>><<>><<>><<<>>>><<>>><<>><<<><<<>>><<>>><<<<>><>>>><>>>><>>><<>>><<>>>><<<>>><>>>><<<<>>><<<>><<<<>>><<>><<>>>><<<><<<<><<>><<<>>>><<<<>>><<<<><<>>>><>>>><<<<>><>>>><>>><<<>>><<>>><<<<><>>><<<<><<><><>>><>><>>>><<<<>><<<><>>>><<>>>><<>>>><<>>><<<>><<<><<><<>>><<><>>>><<<<>>>><<<>>><<<>>>><<<<>>><><<<<>>><>>>><<>><<<<><<<<>><<<>>><<>><<<><>>>><<<>><>><<>>>><<<<>><<<<>><<>>>><<<<>>><<>>>><<<<><<<>><<<<>>><<<<>>>><>><<<<>>>><<<>><<<>><<><<<>>><<<>>><<<>>>><<<<>><<<>>>><>>>><<><<><<>><<<>><<>>>><<>>>><><<<>>>><<<<>>><<>>>><><>>><<><<>>>><<>>>><<>>><<>>><<<>>><<<<><<>>>><<<<>><<<<><<<>>>><<>>>><<>>><<<><<<<><<<<>>>><><>><<<>>><<<>>><<>><<<>>><>>><<>><><<>><<>><<>><<<<>><<<>>><>>>><<<<>>>><<<>>>><>>>><<>><<<>>><<><<<<>><<<<><<<>>><><<<<><<<>><<<<>>><<>>><<<>>>><<<>>>><<>><<<<>><<<<>>><>><<<>>><<<<>>><>>><<><<<<><<>>>><<<<>><<<><>>><<>><<<<>>><<<>>><<>>>><<<<><>>><>>><><<><<>><>><<>><>>><<<<>>>><<<>>><<><<>>><<><<<>>><<><<<>>><<<><<<<>>><<><>>><<<<><<<>><<<<><>>>><>><<<<>>>><<<>>>><<<><><<<><<>>><<<<>><<<<>>>><>>>><>>><><<<<><<<<><<<><<>>><<<<><<<<>><<<<>>><<<>>><<><><>>><<<<>>><<<>>>><<><<<<>>><<<<>>>><>>><<<<>>>><<<>><<>>>><<<<>>><<<>>><>>><<<<><<<<>>>><<><<<>>>><<>><<<>>>><<<>><<<<>>>><<<>>><<<<>>><>><<<<>>>><<><<<><<>><><<<<><<<<>><<>>>><<<>><<<>><<>>>><<<>><<<>>><<<<><<<>>><><<<><<<><><<>>><>><<<<>>>><<<>>><<<<><>>><<<<>>><>><<<>>>><<<>>>><<<>><<<>>><<<><<<<><<<<><>>><>><<<><<<<>>><<<<><<>>><<<<>><<>>><<<<>>>><<<><<>>><><<<>>><<<>>><>><<>>>><><<><><<<<>>><<<<><<>>><>>><<<<>>>><<<>><<>><<<><<>><<>>>><<<<>>><<<<>>><>>>><<<<>><<<><<<>>><>>>><<<<>>><<<<>>>><<<>>><>><>><<<>>><<<<>>>><<>><<<>><>><><<<<>><>>> \ No newline at end of file diff --git a/src/day_17.rs b/src/day_17.rs new file mode 100644 index 0000000..e01aae6 --- /dev/null +++ b/src/day_17.rs @@ -0,0 +1,19 @@ +use crate::input_reader; + +enum Push { + Left, + Right, +} + +pub fn run() { + let input = input_reader::read_file_in_cwd("src/day_17.data"); + + let pushes_str: Vec<&str> = input.split("").collect(); + let pushes: Vec = pushes_str.iter().map(|&val| { + return match val { + "<" => Push::Left, + ">" => Push::Right, + _ => Push::Left + } + }).collect(); +} diff --git a/src/main.rs b/src/main.rs index 80e4654..14bbb1c 100644 --- a/src/main.rs +++ b/src/main.rs @@ -14,6 +14,8 @@ mod day_12; mod day_13; mod day_14; mod day_15; +// mod day_16; +mod day_17; fn main() { let day: String = std::env::args().nth(1).expect( @@ -37,6 +39,8 @@ fn main() { "13" => day_13::run(), "14" => day_14::run(), "15" => day_15::run(), + //"16" => day_16::run(), + "17" => day_17::run(), _ => println!("No valid day given. Possible options are: 01-25."), }; }