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>
|