| ofs | hex dump | ascii |
|---|
| 0000 | 2a 2a 54 49 39 32 2a 2a 01 00 64 61 79 34 00 00 00 00 50 61 72 74 31 20 44 61 79 34 20 73 3a 20 | **TI92**..day4....Part1.Day4.s:. |
| 0020 | 70 61 72 73 65 64 20 69 6e 70 75 74 2c 20 77 3a 20 69 6e 70 75 74 20 77 69 64 01 00 52 00 00 00 | parsed.input,.w:.input.wid..R... |
| 0040 | 70 61 72 74 31 00 00 00 12 00 00 00 74 02 00 00 a5 5a 00 00 00 00 02 1a 28 73 2c 77 29 0d 46 75 | part1.......t....Z......(s,w).Fu |
| 0060 | 6e 63 0d 4c 6f 63 61 6c 20 68 2c 69 2c 6a 2c 63 75 72 72 2c 70 72 65 76 73 2c 70 63 2c 72 65 73 | nc.Local.h,i,j,curr,prevs,pc,res |
| 0080 | 75 6c 74 0d 0d 64 69 6d 28 73 29 16 68 0d 49 66 20 68 3c 31 20 54 68 65 6e 0d 20 52 65 74 75 72 | ult..dim(s).h.If.h<1.Then..Retur |
| 00a0 | 6e 20 30 0d 45 6c 73 65 49 66 20 68 3d 31 20 54 68 65 6e 0d 20 52 65 74 75 72 6e 20 63 6e 74 62 | n.0.ElseIf.h=1.Then..Return.cntb |
| 00c0 | 69 74 73 28 73 5b 31 5d 29 0d 45 6e 64 49 66 0d 0d 30 16 72 65 73 75 6c 74 0d 46 6f 72 20 69 2c | its(s[1]).EndIf..0.result.For.i, |
| 00e0 | 31 2c 77 0d 20 6e 65 77 4c 69 73 74 28 33 29 16 70 72 65 76 73 0d 20 66 61 6c 73 65 16 70 63 0d | 1,w..newList(3).prevs..false.pc. |
| 0100 | 20 46 6f 72 20 6a 2c 31 2c 68 0d 20 20 67 65 74 62 69 74 73 28 73 5b 6a 5d 2c 69 2d 31 2c 33 29 | .For.j,1,h...getbits(s[j],i-1,3) |
| 0120 | 16 63 75 72 72 0d 20 20 63 6e 74 33 62 69 74 73 28 63 75 72 72 29 16 70 72 65 76 73 5b 6d 6f 64 | .curr...cnt3bits(curr).prevs[mod |
| 0140 | 28 6a 2c 33 29 2b 31 5d 0d 20 20 a9 27 61 6e 64 27 20 69 73 20 6e 6f 74 20 73 68 6f 72 74 20 63 | (j,3)+1]....'and'.is.not.short.c |
| 0160 | 69 72 63 75 69 74 69 6e 67 0d 20 20 49 66 20 70 63 20 54 68 65 6e 0d 20 20 20 49 66 20 73 75 6d | ircuiting...If.pc.Then....If.sum |
| 0180 | 28 70 72 65 76 73 29 3c 35 20 54 68 65 6e 0d 20 20 20 20 72 65 73 75 6c 74 2b 31 16 72 65 73 75 | (prevs)<5.Then.....result+1.resu |
| 01a0 | 6c 74 0d 20 20 20 45 6e 64 49 66 0d 20 20 45 6e 64 49 66 0d 20 20 63 75 72 72 3d 32 20 6f 72 20 | lt....EndIf...EndIf...curr=2.or. |
| 01c0 | 63 75 72 72 3d 33 20 6f 72 20 63 75 72 72 3d 36 20 6f 72 20 63 75 72 72 3d 37 16 70 63 0d 20 45 | curr=3.or.curr=6.or.curr=7.pc..E |
| 01e0 | 6e 64 46 6f 72 0d 20 a9 20 6c 61 73 74 20 6c 69 6e 65 0d 20 49 66 20 70 63 20 54 68 65 6e 0d 20 | ndFor....last.line..If.pc.Then.. |
| 0200 | 20 30 16 70 72 65 76 73 5b 6d 6f 64 28 68 2b 31 2c 33 29 2b 31 5d 0d 20 20 49 66 20 73 75 6d 28 | .0.prevs[mod(h+1,3)+1]...If.sum( |
| 0220 | 70 72 65 76 73 29 3c 35 20 54 68 65 6e 0d 20 20 20 72 65 73 75 6c 74 2b 31 16 72 65 73 75 6c 74 | prevs)<5.Then....result+1.result |
| 0240 | 0d 20 20 45 6e 64 49 66 0d 20 45 6e 64 49 66 0d 45 6e 64 46 6f 72 0d 0d 72 65 73 75 6c 74 0d 0d | ...EndIf..EndIf.EndFor..result.. |
| 0260 | 45 6e 64 46 75 6e 63 0d 00 00 00 19 e4 e5 00 00 08 dc d6 a5 | EndFunc............. |