diff options
author | June McEnroe <june@causal.agency> | 2017-11-27 17:11:18 -0500 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2020-11-22 00:14:25 -0500 |
commit | 051be932a389b8bc3ea5d4626575454844639066 (patch) | |
tree | 9383502b3205624f7aee8faa014228036b5450f9 /src/bin/day19.rs | |
parent | License ISC (diff) | |
download | aoc-051be932a389b8bc3ea5d4626575454844639066.tar.gz aoc-051be932a389b8bc3ea5d4626575454844639066.zip |
Move to 2016 directory
Diffstat (limited to 'src/bin/day19.rs')
-rw-r--r-- | src/bin/day19.rs | 35 |
1 files changed, 0 insertions, 35 deletions
diff --git a/src/bin/day19.rs b/src/bin/day19.rs deleted file mode 100644 index 9afbf39..0000000 --- a/src/bin/day19.rs +++ /dev/null @@ -1,35 +0,0 @@ -use std::collections::VecDeque; -use std::io::{self, Read}; - -#[derive(Clone, Copy)] -struct Elf { - position: usize, - gifts: usize, -} - -fn solve(count: usize) -> usize { - let mut circle: VecDeque<Elf> = (0..count) - .map(|i| Elf { position: i + 1, gifts: 1 }) - .collect(); - - while circle.len() > 1 { - let mut current = circle.pop_front().unwrap(); - let next = circle.pop_front().unwrap(); - current.gifts += next.gifts; - circle.push_back(current); - } - - circle.pop_front().unwrap().position -} - -fn main() { - let mut input = String::new(); - io::stdin().read_to_string(&mut input).unwrap(); - - println!("Part 1: {}", solve(input.trim().parse().unwrap())); -} - -#[test] -fn part1() { - assert_eq!(3, solve(5)); -} |