Advent 2016 Day 2 Part 1
This commit is contained in:
parent
93b6ec8cc9
commit
d7b5a2ffaa
6 changed files with 43 additions and 2 deletions
5
advent_of_code_2016/src/day2/input.txt
Normal file
5
advent_of_code_2016/src/day2/input.txt
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
UUURRRRULRDLRDRRDURDDDLLDLLLULDUDDLDLULUURULRLDLRRLLLRRDRRLDDLLULUDUDDLRDRDUURDLURUURLRULLDDURULRRURDUURLULUUUURDDDDUUDLULRULLLRLLRRRURDLLRLLRRRUURULRDRUUDDDDDLLLRURRURRUURDUURDDRDLULRRLLLDRRRLURRLLURLDRRDDLDLRRLLRDRLLLLDLULDLRRDRRLDDURLULLUDLUDRRDRRLRLULURDRLRLUUUDLRLDLLLURDUDULULDDRUUURLLLDLLDDUDDRURURUDDLUULRDRRRRLDRDDURLUDURDULLDLUDLULDRLRLLRLLLLRURDURLLDRRDRLRUUUUULLLRUDURUDLLLUDLLLLRDLDRDUDRURLUDDUDDURLUUUUDDLLUDLULLLLLDUDLLRLRRDDDULULRLDRLLULDLUDLLURULRDDUURULRDLDLDLRL
|
||||||
|
URUUURDULUDLUUUUDDRRRDRRRLDUDLRDRRDRDDLRUULDLLDUDULLLRLDRDRRLDLDLUUDRUULDUDULDUDURURDDURULDLURULRLULDUDDUULDLLLDDURDDRDDURUULUUDRLDDULDRRRRDURRUDLLLURDDDLRULLRDDRDDDDLUUDRDUULRRRRURULDDDLDDRDRRUDRRURUDRDDLDRRRLLURURUULUUDRDULLDRLRDRRDDURDUDLDRLUDRURDURURULDUUURDUULRRRRRUDLLULDDDRLULDDULUDRRRDDRUDRRDLDLRUULLLLRRDRRLUDRUULRDUDRDRRRDDRLLRUUDRLLLUDUDLULUUDULDRRRRDDRURULDULLURDLLLDUUDLLUDRLDURRRLDDDURUDUDURRULDD
|
||||||
|
LRUDDULLLULRLUDUDUDRLLUUUULLUDLUUUUDULLUURDLLRDUDLRUDRUDDURURRURUDLLLRLDLUDRRRRRRDLUURLRDDDULRRUDRULRDRDDUULRDDLDULDRRRDDLURRURLLLRURDULLRUUUDDUDUURLRLDDUURLRDRRLURLDRLLUUURDRUUDUUUDRLURUUUDLDRRLRLLRRUURULLLRLLDLLLDULDDLDULDLDDRUDURDDURDUDURDLLLRRDDLULLLUDURLUDDLDLUUDRDRUDUUDLLDDLLLLDRDULRDLDULLRUDDUULDUDLDDDRUURLDRRLURRDDRUUDRUDLLDLULLULUDUDURDDRLRDLRLDRLDDRULLLRUDULDRLRLRULLRLLRRRLLRRRDDRULRUURRLLLRULDLUDRRDDLLLUDDUDDDLURLUDRDLURUUDLLDLULURRLLDURUDDDDRLULRDDLRLDDLRLLDDRRLRDUDUUULRRLRULUDURDUDRLRLRUDUDLLRRRRLRRUDUL
|
||||||
|
RULLLLUUUDLLDLLRULLRURRULDDRDLUULDRLLRUDLLRRLRDURLLDUUUUURUUURDLUURRLDDDLRRRRLRULDUDDLURDRRUUDLRRRDLDDUDUDDRUDURURLDULLDLULDLLUDLULRDRLLURRLLDURLDLRDLULUDDULDLDDDDDUURRDRURLDLDULLURDLLDDLLUDLDLDRLRLDLRDRLDLRRUUDRURLUUUDLURUULDUDRDULLDURUDLUUURRRLLDUDUDDUUULLLRUULDLURUDDRLUDRDDLDLLUDUDRRRDDUUULUULLLRLLUURDUUDRUUULULLDLDRUUDURLLUULRLDLUURLLUUDRURDDRLURULDUDUUDRRUUURDULRLDUUDDRURURDRRULDDDRLUDLLUUDURRRLDLRLRDRURLURLLLRLDDLRRLDLDDURDUUDRDRRLDRLULDRLURUUUDDRLLLDDLDURLLLLDRDLDRRUDULURRLULRDRLLUULLRLRDRLLULUURRUDRUDDDLLDURURLURRRDLLDRDLUDRULULULRLDLRRRUUDLULDURLRDRLULRUUURRDDLRUURUDRURUDURURDD
|
||||||
|
DURRDLLLDDLLDLLRLULULLRDLDRRDDRDLRULURRDUUDDRLLDDLDRRLRDUDRULDLRURDUUDRDDLLDRRDRUDUDULLDDDDLDRRRLRLRDRDLURRDDLDDDUUDRDRLLLDLUDDDLUULRDRLLLRLLUULUDDDRLDUUUURULRDDURRDRLUURLUDRLRLLLDDLRDDUULRRRRURDLDDDRLDLDRRLLDRDDUDDUURDLDUUDRDLDLDDULULUDDLRDDRLRLDDLUDLLDRLUDUDDRULLRLDLLRULRUURDDRDRDRURDRRLRDLLUDDRRDRRLDDULLLDLUDRRUDLDULDRURRDURLURRLDLRDLRUDLULUDDRULRLLDUURULURULURRLURRUULRULRRRLRDLULRLRLUDURDDRUUURDRLLRRRDDLDRRRULLDLRDRULDRRLRRDLUDDRDDDUUURRLULLDRRUULULLRRRRLDDRDDLUURLLUDLLDUDLULUULUDLLUUURRRUDDDRLLLRDRUUDUUURDRULURRLRDLLUURLRDURULDRRUDURRDDLDRLDRUUDRLLUDLRRU
|
||||||
2
advent_of_code_2016/src/day2/mod.rs
Normal file
2
advent_of_code_2016/src/day2/mod.rs
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
pub mod part1;
|
||||||
|
pub mod part2;
|
||||||
27
advent_of_code_2016/src/day2/part1.rs
Normal file
27
advent_of_code_2016/src/day2/part1.rs
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
|
||||||
|
pub fn solve(input: &str) {
|
||||||
|
let digits = [1, 2, 3, 4, 5, 6, 7, 8, 9];
|
||||||
|
let instructions = input.lines().map(|line| line.as_bytes().iter().map(|ch| {
|
||||||
|
match ch {
|
||||||
|
b'U' => 0,
|
||||||
|
b'R' => 1,
|
||||||
|
b'D' => 2,
|
||||||
|
b'L' => 3,
|
||||||
|
_ => panic!("what the delly?")
|
||||||
|
}
|
||||||
|
}).collect::<Vec<_>>()).collect::<Vec<_>>();
|
||||||
|
|
||||||
|
let directions: [(i32, i32); 4] = [(0, -1), (1, 0), (0, 1), (-1, 0)];
|
||||||
|
let mut position = (1, 1);
|
||||||
|
|
||||||
|
print!("code: ");
|
||||||
|
for digit in instructions {
|
||||||
|
for instruction in digit {
|
||||||
|
let x = (position.0 + directions[instruction].0).clamp(0, 2);
|
||||||
|
let y = (position.1 + directions[instruction].1).clamp(0, 2);
|
||||||
|
position = (x, y);
|
||||||
|
}
|
||||||
|
|
||||||
|
print!("{}", digits[(position.0 + position.1 * 3) as usize]);
|
||||||
|
}
|
||||||
|
}
|
||||||
3
advent_of_code_2016/src/day2/part2.rs
Normal file
3
advent_of_code_2016/src/day2/part2.rs
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
pub fn solve(input: &str) {
|
||||||
|
|
||||||
|
}
|
||||||
4
advent_of_code_2016/src/day2/test.txt
Normal file
4
advent_of_code_2016/src/day2/test.txt
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
ULL
|
||||||
|
RRDDD
|
||||||
|
LURDL
|
||||||
|
UUUUD
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
use paste::paste;
|
use paste::paste;
|
||||||
mod utility;
|
mod utility;
|
||||||
|
|
||||||
solve_day!{1}
|
solve_day!{2}
|
||||||
// test_day!{1}
|
//test_day!{2}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue