Paste: aoc day 12 part 1
Author: | Krenium |
Mode: | factor |
Date: | Thu, 13 Dec 2018 04:51:23 |
Plain Text |
CONSTANT: pad 300
SYMBOL: rules
: get-input
"input12.txt" ascii file-contents R/ [#\.]+/
all-matching-subseqs unclip [ 2 group >hashtable rules set ]
dip [ pad CHAR: . <repetition> dup ] dip glue "" like ;
: new-state
[ [ 2 - ] [ 3 + ] bi ] dip subseq rules get at ;
: next-gen
2 over length 3 - [a,b] [ [ swap new-state % ] with each ]
"" make [ ".." dup ] dip glue ;
: pot-sum
pad cut [ reverse [ [ CHAR: # = ] dip 0 ? neg ] map-index
sum ] dip [ [ CHAR: # = ] dip 0 ? ] map-index sum + ;
get-input pot-sum .
New Annotation