From 375169efa68219af7e53ab24b10cfb8e5ee988ab Mon Sep 17 00:00:00 2001 From: Andreas Grois Date: Fri, 19 Dec 2025 22:20:34 +0100 Subject: Day5 --- day5/part2.TXT | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 day5/part2.TXT (limited to 'day5/part2.TXT') 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\ -- cgit v1.2.3