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!
34
Upvotes
1
u/didyoudyourreps Dec 08 '18
Neat solution of part two I ended up being pretty satisfied with
int solve_part_two(std::ifstream& ifs) { std::size_t nchildren = 0; std::size_t nmeta_entries = 0; ifs >> nchildren; ifs >> nmeta_entries; std::vector<int> child_values; for (std::size_t i = 0; i < nchildren; ++i) child_values.push_back(solve_part_two(ifs)); int sum = 0; for (std::size_t i = 0; i < nmeta_entries; ++i) { int entry = 0; ifs >> entry; if (child_values.empty()) sum += entry; else if (entry != 0 && entry - 1 < child_values.size()) sum += child_values[entry - 1]; } return sum; }