summaryrefslogtreecommitdiff
path: root/day5
diff options
context:
space:
mode:
Diffstat (limited to 'day5')
-rw-r--r--day5/any.TXT8
-rw-r--r--day5/day5.any.92fbin0 -> 103 bytes
-rw-r--r--day5/day5.init.92fbin0 -> 102 bytes
-rw-r--r--day5/day5.part1.92fbin0 -> 359 bytes
-rw-r--r--day5/day5.part2.92fbin0 -> 813 bytes
-rw-r--r--day5/init.TXT8
-rw-r--r--day5/part1.TXT24
-rw-r--r--day5/part2.TXT44
8 files changed, 84 insertions, 0 deletions
diff --git a/day5/any.TXT b/day5/any.TXT
new file mode 100644
index 0000000..efac786
--- /dev/null
+++ b/day5/any.TXT
@@ -0,0 +1,8 @@
+\START92\
+\COMMENT=Single file dated Fri Dec 19 22:12:56 20
+\NAME=any
+\FILE=day5.any.92f
+(s)
+when(?s,false,true)
+
+\STOP92\
diff --git a/day5/day5.any.92f b/day5/day5.any.92f
new file mode 100644
index 0000000..4db287d
--- /dev/null
+++ b/day5/day5.any.92f
Binary files differ
diff --git a/day5/day5.init.92f b/day5/day5.init.92f
new file mode 100644
index 0000000..35f74b0
--- /dev/null
+++ b/day5/day5.init.92f
Binary files differ
diff --git a/day5/day5.part1.92f b/day5/day5.part1.92f
new file mode 100644
index 0000000..338fcd5
--- /dev/null
+++ b/day5/day5.part1.92f
Binary files differ
diff --git a/day5/day5.part2.92f b/day5/day5.part2.92f
new file mode 100644
index 0000000..a2cb050
--- /dev/null
+++ b/day5/day5.part2.92f
Binary files differ
diff --git a/day5/init.TXT b/day5/init.TXT
new file mode 100644
index 0000000..70d7b7c
--- /dev/null
+++ b/day5/init.TXT
@@ -0,0 +1,8 @@
+\START92\
+\COMMENT=Single file dated Fri Dec 19 22:12:59 20
+\NAME=init
+\FILE=day5.init.92f
+(l,n)
+newList(l)+n
+
+\STOP92\
diff --git a/day5/part1.TXT b/day5/part1.TXT
new file mode 100644
index 0000000..9dca82a
--- /dev/null
+++ b/day5/part1.TXT
@@ -0,0 +1,24 @@
+\START92\
+\COMMENT=Single file dated Fri Dec 19 22:13:02 20
+\NAME=part1
+\FILE=day5.part1.92f
+(rs,vs)
+Func
+Local lowerb,upperb,dimb,dimv,i,t,result
+mat\to\list(rs[1])\->\lowerb
+mat\to\list(rs[2])\->\upperb
+dim(lowerb)\->\dimb
+dim(vs)\->\dimv
+
+0\->\result
+
+For i,1,dimv
+ init(dimb,vs[i])\->\t
+ If any(t\>=\lowerb and t\<=\upperb) Then
+ result+1\->\result
+ EndIf
+EndFor
+result
+EndFunc
+
+\STOP92\
diff --git a/day5/part2.TXT b/day5/part2.TXT
new file mode 100644
index 0000000..790c74a
--- /dev/null
+++ b/day5/part2.TXT
@@ -0,0 +1,44 @@
+\START92\
+\COMMENT=Single file dated Fri Dec 19 22:13:14 20
+\NAME=part2
+\FILE=day5.part2.92f
+(rs)
+Func
+Local i,j,lowerb,upperb,dimb
+
+mat\to\list(rs[1])\->\lowerb
+mat\to\list(rs[2])\->\upperb
+dim(lowerb)\->\dimb
+
+For i,dimb,1,\(-)\1
+ For j,dimb,i+1,\(-)\1
+ If lowerb[i]\>=\lowerb[j] and upperb[i]\<=\upperb[j] Then
+ lowerb[dimb]\->\lowerb[i]
+ upperb[dimb]\->\upperb[i]
+ dimb-1\->\dimb
+ Exit
+ ElseIf lowerb[j]\>=\lowerb[i] and upperb[j]\<=\upperb[i] Then
+ lowerb[dimb]\->\lowerb[j]
+ upperb[dimb]\->\upperb[j]
+ dimb-1\->\dimb
+ EndIf
+ EndFor
+EndFor
+left(lowerb,dimb)\->\lowerb
+left(upperb,dimb)\->\upperb
+
+For i,1,dimb
+ For j,i+1,dimb
+ If upperb[i]\>=\lowerb[j] and upperb[i]\<=\upperb[j] Then
+ lowerb[j]-1\->\upperb[i]
+ ElseIf lowerb[i]\>=\lowerb[j] and lowerb[i]\<=\upperb[j] Then
+ upperb[j]+1\->\lowerb[i]
+ EndIf
+ EndFor
+EndFor
+
+sum(upperb-lowerb+1)
+
+EndFunc
+
+\STOP92\