From 4cc719c9b2b4a7ef4066c8435c6b1480eb9e309f Mon Sep 17 00:00:00 2001 From: June McEnroe Date: Sat, 17 Dec 2016 00:59:00 -0500 Subject: Day 15 part 2 --- src/bin/day15.rs | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'src/bin') diff --git a/src/bin/day15.rs b/src/bin/day15.rs index c7006eb..ec9df7a 100644 --- a/src/bin/day15.rs +++ b/src/bin/day15.rs @@ -64,7 +64,7 @@ impl<'a> From<&'a str> for Sculpture { } } -fn solve(input: &str) -> u32 { +fn solve1(input: &str) -> u32 { let mut sculpture = Sculpture::from(input); loop { if sculpture.clone().drop_capsule() { @@ -74,11 +74,23 @@ fn solve(input: &str) -> u32 { } } +fn solve2(input: &str) -> u32 { + let mut sculpture = Sculpture::from(input); + sculpture.discs.push(Disc { positions: 11, position: 0 }); + loop { + if sculpture.clone().drop_capsule() { + return sculpture.time; + } + sculpture.tick(); + } +} + fn main() { let mut input = String::new(); io::stdin().read_to_string(&mut input).unwrap(); - println!("Part 1: {}", solve(&input)); + println!("Part 1: {}", solve1(&input)); + println!("Part 2: {}", solve2(&input)); } #[test] @@ -87,5 +99,5 @@ fn part1() { Disc #1 has 5 positions; at time=0, it is at position 4. Disc #2 has 2 positions; at time=0, it is at position 1. "; - assert_eq!(5, solve(input.trim())); + assert_eq!(5, solve1(input.trim())); } -- cgit 1.4.1 bdfa1fa9b3d1ce9&follow=1'>commit diff
path: root/ui-atom.c (unfollow)
Commit message (Expand)Author
2020-06-02git: update to v2.27.0Christian Hesse
2020-03-23git: update to v2.26.0Christian Hesse
2020-03-13Bump versionJason A. Donenfeld
2020-03-13global: use proper accessors for maybe_treeJason A. Donenfeld
2020-03-12ui-snapshot: add support for zstd compressionChristian Hesse
2020-03-12tests: add tests for xz compressed snapshotsChristian Hesse
2020-02-26ui-snapshot: add support for lzip compressionHanspeter Portner
2020-02-17git: update to v2.25.1Christian Hesse
2020-01-13tests: allow to skip git version testsChristian Hesse
2020-01-13Bump versionJason A. Donenfeld
2020-01-13git: update to v2.25.0Christian Hesse
2019-12-11tests: skip tests if strace is not functionalChristian Hesse
2019-12-10git: update to v2.24.1Christian Hesse
2019-11-22ui-repolist: do not return unsigned (negative) valueChristian Hesse
2019-11-08git: update to v2.24.0Christian Hesse
2019-10-25git: update to v2.23.0Christian Hesse
2019-10-25git: update to v2.22.0Christian Hesse
2019-06-25ui-tree: allow per repository override for enable-blameChristian Hesse
2019-06-05tests: successfully validate rc versionsChristian Hesse
2019-06-05git: update to v2.21.0Christian Hesse
2019-06-05ui-ssdiff: ban strncat()Christian Hesse
2019-06-05global: make 'char *path' const where possibleChristian Hesse
2019-05-20ui-shared: restrict to 15 levelsJason A. Donenfeld
2019-02-23ui-diff,ui-tag: don't use htmlf with non-formatted stringsChris Mayo
2019-02-23ui-ssdiff: resolve HTML5 validation errorsChris Mayo
2019-01-03filters: migrate from luacrypto to luaosslJason A. Donenfeld
2019-01-02ui-shared: fix broken sizeof in title setting and rewriteJason A. Donenfeld
2018-12-09git: update to v2.20.0Christian Hesse
2018-11-25ui-blame: set repo for sbJason A. Donenfeld
2018-11-25auth-filter: pass url with query string attachedJason A. Donenfeld
2018-11-21git: use xz compressed archive for downloadChristian Hesse
2018-10-12git: update to v2.19.1Christian Hesse
2018-09-11ui-ssdiff: ban strcat()Christian Hesse
2018-09-11ui-ssdiff: ban strncpy()Christian Hesse
2018-09-11ui-shared: ban strcat()Christian Hesse
2018-09-11ui-patch: ban sprintf()Christian Hesse
2018-09-11ui-log: ban strncpy()Christian Hesse
2018-09-11ui-log: ban strcpy()Christian Hesse
2018-09-11parsing: ban sprintf()Christian Hesse
2018-09-11parsing: ban strncpy()Christian Hesse
2018-08-28filters: generate anchor links from markdownChristian Hesse
2018-08-03Bump version.Jason A. Donenfeld
2018-08-03clone: fix directory traversalJason A. Donenfeld
2018-08-03config: record repo.snapshot-prefix in the per-repo configKonstantin Ryabitsev