diff options
Diffstat (limited to 'day1/part2.TXT')
| -rw-r--r-- | day1/part2.TXT | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/day1/part2.TXT b/day1/part2.TXT new file mode 100644 index 0000000..59e033f --- /dev/null +++ b/day1/part2.TXT @@ -0,0 +1,39 @@ +\START92\
+\COMMENT=Single file dated Tue Dec 2 23:21:07 20
+\NAME=part2
+\FILE=day1.part2.92f
+(inp,position)
+Func
+Local pos1,pos2,curr,direct,step,result
+0\->\result
+1\->\pos1
+While pos1<dim(inp)
+ inString(inp," ",pos1)\->\pos2
+ If pos2<1 Then
+ dim(inp)+1\->\pos2
+ EndIf
+ mid(inp,pos1,pos2-pos1)\->\curr
+ pos2+1\->\pos1
+ If dim(curr)=0 Then
+ continue
+ EndIf
+ expr(right(curr,dim(curr)-1))\->\step
+ left(curr,1)\->\direct
+ If direct="L" Then
+ mod(100-position,100)\->\position
+ position+step\->\position
+ result+floor(position/100)\->\result
+ mod(100-position,100)\->\position
+ ElseIf direct="R" Then
+ position+step\->\position
+ result+floor(position/100)\->\result
+ mod(position,100)\->\position
+ Else
+ Return {\(-)\1,position}
+ EndIf
+EndWhile
+
+Return {result,position}
+EndFunc
+
+\STOP92\
|
