From 42830abbdf2f11b875adaa8ec13fd9e36d2d679e Mon Sep 17 00:00:00 2001 From: June McEnroe Date: Fri, 15 Dec 2017 15:03:32 -0500 Subject: Day 11, part 2 --- 2017/src/bin/day11.rs | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/2017/src/bin/day11.rs b/2017/src/bin/day11.rs index 174f950..dd46fde 100644 --- a/2017/src/bin/day11.rs +++ b/2017/src/bin/day11.rs @@ -4,6 +4,10 @@ use std::io::{self, Read}; struct Hex(i32, i32, i32); impl Hex { + fn dist(self) -> i32 { + (self.0.abs() + self.1.abs() + self.2.abs()) / 2 + } + fn mov(self, dir: &str) -> Self { let Hex(x, y, z) = self; match dir { @@ -23,7 +27,19 @@ fn solve1(input: &str) -> i32 { for dir in input.split(',') { hex = hex.mov(dir); } - (hex.0.abs() + hex.1.abs() + hex.2.abs()) / 2 + hex.dist() +} + +fn solve2(input: &str) -> i32 { + let mut hex = Hex(0, 0, 0); + let mut max = 0; + for dir in input.split(',') { + hex = hex.mov(dir); + if hex.dist() > max { + max = hex.dist() + } + } + max } fn main() { @@ -31,6 +47,7 @@ fn main() { io::stdin().read_to_string(&mut input).unwrap(); println!("Part 1: {}", solve1(input.trim())); + println!("Part 2: {}", solve2(input.trim())); } #[test] -- cgit 1.4.1 diff
path: root/port/cgram/.gitignore (unfollow)
Commit message (Expand)Author
2019-10-02Add The Red Threads of FortuneJune McEnroe
2019-09-28Add The Black Tides of HeavenJune McEnroe
2019-09-27Fail on HTTP failure status in titleJune McEnroe
2019-09-23Add Trail of LightningJune McEnroe
2019-09-22Revert "Enable cookies in title"June McEnroe
2019-09-20Enable cookies in titleJune McEnroe
2019-09-16Use sensitivity aliases in TF2June McEnroe
2019-09-16Add The Just CityJune McEnroe
2019-09-12Only GET the final redirect locationJune McEnroe
2019-09-12Consume entire bodyJune McEnroe
2019-09-10Add title -v flagJune McEnroe
2019-09-10Use curl error bufferJune McEnroe
2019-09-10Set Accept-Encoding in titleJune McEnroe
2019-09-08Set title User-AgentJune McEnroe
2019-09-07Add -x flag to titleJune McEnroe
2019-09-07Ignore SIGPIPE in relayJune McEnroe
2019-09-07Add A Memory Called EmpireJune McEnroe
2019-09-05Handle lack of Content-TypeJune McEnroe
2019-09-05Use CURLINFO_CONTENT_TYPEJune McEnroe
2019-09-05Decode entities in titlesJune McEnroe
2019-09-05Print title as soon as it's availableJune McEnroe
2019-09-05Use CURL_PREFIX to set flagsJune McEnroe
2019-09-05Add titleJune McEnroe
2019-09-04Add Avorter n'est pas tuerJune McEnroe
2019-08-29Unset executable on shell scriptsJune McEnroe
2019-08-29Add long-missing setopt to bin.7June McEnroe
2019-08-29Add editJune McEnroe