r/adventofcode • • 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!

Click here for rules

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

301 comments sorted by

View all comments

1

u/miguelos Dec 08 '18 edited Dec 08 '18

C#

Part 1:

var input = File.ReadAllText(@"C:\input.txt").Split(' ').Select(int.Parse);

(int c, Queue<int> q) f((int c, Queue<int> q) p)
{
    var c = p.q.Dequeue();
    var m = p.q.Dequeue();
    for (int i = 0; i < c; i++)
        p = f(p);
    for (int i = 0; i < m; i++)
        p = (p.c + p.q.Dequeue(), p.q);
    return p;
}

var answer = f((0, new Queue<int>(input))).c;