Fuck it we ball

This commit is contained in:
Jan-Bulthuis 2024-12-22 20:09:58 +01:00
parent e215cd7472
commit b49467a59e
1 changed files with 9 additions and 11 deletions

View File

@ -131,11 +131,9 @@ impl NumButton {
} }
} }
type Input = String;
#[aoc_generator(day21)] #[aoc_generator(day21)]
fn parse(input: &str) -> Input { fn parse(input: &str) -> &'static str {
input.to_string() unsafe { std::mem::transmute(input) }
} }
type Path = [DistanceSize; 6]; type Path = [DistanceSize; 6];
@ -336,7 +334,7 @@ const CHAR_IDX: [usize; 10] = [
]; ];
#[aoc(day21, part1)] #[aoc(day21, part1)]
fn part1(input: &Input) -> DistanceSize { fn part1(input: &str) -> DistanceSize {
let num_paths = const { let num_paths = const {
let steps = precompute_steps_new::<2>([[1; 5]; 5]); let steps = precompute_steps_new::<2>([[1; 5]; 5]);
let paths = precompute_paths(); let paths = precompute_paths();
@ -358,7 +356,7 @@ fn part1(input: &Input) -> DistanceSize {
} }
#[aoc(day21, part2)] #[aoc(day21, part2)]
fn part2(input: &Input) -> DistanceSize { fn part2(input: &str) -> DistanceSize {
let num_paths = const { let num_paths = const {
let steps = precompute_steps_new::<25>([[1; 5]; 5]); let steps = precompute_steps_new::<25>([[1; 5]; 5]);
let paths = precompute_paths(); let paths = precompute_paths();
@ -385,10 +383,10 @@ mod tests {
#[test] #[test]
fn part1_example() { fn part1_example() {
assert_eq!(part1(&parse("379A")), 64 * 379); assert_eq!(part1(parse("379A")), 64 * 379);
assert_eq!(part1(&parse("179A")), 68 * 179); assert_eq!(part1(parse("179A")), 68 * 179);
assert_eq!(part1(&parse("456A")), 64 * 456); assert_eq!(part1(parse("456A")), 64 * 456);
assert_eq!(part1(&parse("980A")), 60 * 980); assert_eq!(part1(parse("980A")), 60 * 980);
assert_eq!(part1(&parse("029A")), 68 * 29); assert_eq!(part1(parse("029A")), 68 * 29);
} }
} }