From 174772b5b8d9f5bf5e3c8e8152adfd89f0e83f6b Mon Sep 17 00:00:00 2001 From: Justin Wernick Date: Tue, 19 Apr 2022 20:22:56 +0200 Subject: Refile for merging repos --- aoc19/Cargo.lock | 4 ---- aoc19/Cargo.toml | 6 ------ aoc19/src/main.rs | 42 ------------------------------------------ 3 files changed, 52 deletions(-) delete mode 100644 aoc19/Cargo.lock delete mode 100644 aoc19/Cargo.toml delete mode 100644 aoc19/src/main.rs (limited to 'aoc19') diff --git a/aoc19/Cargo.lock b/aoc19/Cargo.lock deleted file mode 100644 index 7dc8a26..0000000 --- a/aoc19/Cargo.lock +++ /dev/null @@ -1,4 +0,0 @@ -[root] -name = "aoc19" -version = "0.1.0" - diff --git a/aoc19/Cargo.toml b/aoc19/Cargo.toml deleted file mode 100644 index 17889e3..0000000 --- a/aoc19/Cargo.toml +++ /dev/null @@ -1,6 +0,0 @@ -[package] -name = "aoc19" -version = "0.1.0" -authors = ["Justin Worthe "] - -[dependencies] diff --git a/aoc19/src/main.rs b/aoc19/src/main.rs deleted file mode 100644 index 1930d8d..0000000 --- a/aoc19/src/main.rs +++ /dev/null @@ -1,42 +0,0 @@ -fn main() { - part1(); - part2(); -} - -fn part1() { - let mut elves = (0..3017957).map(|i| i+1).collect::>(); - - let mut eliminate_mod = 1; - - while elves.len() > 1 { - let next_mod = if elves.len() % 2 == eliminate_mod { 0 } else { 1 }; - elves = elves.iter() - .enumerate() - .filter(|&(i, _)| i % 2 != eliminate_mod) - .map(|(_, &e)| e) - .collect(); - eliminate_mod = next_mod; - } - - let elf = elves[0]; - println!("Elf {} gets all the presents in part 1", elf); -} - -fn part2() { - let mut elves = (0..3017957).map(|i| i+1).collect::>(); - - let mut i = 0; - while elves.len() > 1 { - i = i % elves.len(); - let to_eliminate = (i + elves.len() / 2) % elves.len(); -// println!("Elf {} is taking presents from elf {}", elves[i], elves[to_eliminate]); - elves.remove(to_eliminate); - if to_eliminate > i { - i += 1; - } - } - - let elf = elves[0]; - println!("Elf {} gets all the presents in part 2", elf); - -} -- cgit v1.2.3