Skip to content

Files

Latest commit

author
David Rieger
Aug 30, 2017
9319f11 · Aug 30, 2017

History

History

day20-haskell

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Aug 30, 2017
Aug 30, 2017
Aug 30, 2017
Aug 30, 2017
Aug 30, 2017

How to run

Install the split package

cabal install split

Compile and run

hc -o dayp1 ./day_part1.hs
./dayp1

hc -o dayp2 ./day_part2.hs
./dayp2

Instructions

Day 20: Firewall Rules ---

You'd like to set up a small hidden computer here so you can use it to get back into the network later. However, the corporate firewall only allows communication with certain external IP addresses.

You've retrieved the list of blocked IPs from the firewall, but the list seems to be messy and poorly maintained, and it's not clear which IPs are allowed. Also, rather than being written in dot-decimal notation, they are written as plain 32-bit integers, which can have any value from 0 through 4294967295, inclusive.

For example, suppose only the values 0 through 9 were valid, and that you retrieved the following blacklist:

5-8
0-2
4-7

The blacklist specifies ranges of IPs (inclusive of both the start and end value) that are not allowed. Then, the only IPs that this firewall allows are 3 and 9, since those are the only numbers not in any range.

Given the list of blocked IPs you retrieved from the firewall (your puzzle input), what is the lowest-valued IP that is not blocked?

Your puzzle answer was 23923783.

Part Two

How many IPs are allowed by the blacklist?

Your puzzle answer was 125. Both parts of this puzzle are complete! They provide two gold stars: **