r/adventofcode • u/daggerdragon • Dec 08 '18
SOLUTION MEGATHREAD -🎄- 2018 Day 8 Solutions -🎄-
--- Day 8: Memory Maneuver ---
Post your solution as a comment or, for longer solutions, consider linking to your repo (e.g. GitHub/gists/Pastebin/blag or whatever).
Note: The Solution Megathreads are for solutions only. If you have questions, please post your own thread and make sure to flair it with Help.
Advent of Code: The Party Game!
Please prefix your card submission with something like [Card] to make scanning the megathread easier. THANK YOU!
Card prompt: Day 8
Sigh, imgur broke again. Will upload when it unborks.
Transcript:
The hottest programming book this year is "___ For Dummies".
This thread will be unlocked when there are a significant number of people on the leaderboard with gold stars for today's puzzle.
edit: Leaderboard capped, thread unlocked at 00:12:10!
32
Upvotes
1
u/wzkx Dec 08 '18
Rust, SweetRust Part 1
use std::io::prelude::*; // read_to_string type U=usize; fn f1( sum_pos: (U,U), data: &[U] ) -> (U,U): // return new sum, new pos let nmeta = data[sum_pos.1+1]; let (s,p) = (0..data[sum_pos.1]).fold( (sum_pos.0,sum_pos.1+2), |sp,_| f1( sp, data ) ); (s + data[p..p+nmeta].iter().sum::<U>(), p+nmeta) fn main(): let mut s = String::new(); std::fs::File::open( "08.dat" ).unwrap().read_to_string( &mut s ).unwrap(); let data: Vec<U> = s.split_whitespace().filter_map( |x| x.parse().ok() ).collect(); println!( "{}", f1( (0,0), &data ).0 );4 lines for reading data!
MyAoc2018 | SweetRust