1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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\
|