git.alexw.nyc home about git garden
    1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
0 value gamen 
0 value totala 0 value totalb
0 value bad 
0 value minr 0 value ming 0 value minb

: skip ( -- ) begin in< SPC = until ; 

: checkline ( -- ) bad not if gamen to+ totala then minr ming minb * * to+ totalb ;
: Game ( -- ) checkline 0 to bad 0 dup dup to minr to ming to minb to1+ gamen skip ;

: wordnum ( u1 u2 -- ) over swap > if 1 to bad then ;
: red ( n -- ) 12 wordnum minr max to minr ; 
: green ( n -- ) 13 wordnum ming max to ming ;
: blue ( n -- ) 14 wordnum minb max to minb ;

: blue, blue ; : red, red ; : green, green ;
: blue; blue ; : red; red ; : green; green ;

f<< /aoc/input
checkline \ last line
totala . nl> totalb . nl>