Day 24
This commit is contained in:
79
24/analysis.txt
Normal file
79
24/analysis.txt
Normal file
@@ -0,0 +1,79 @@
|
|||||||
|
w=i0
|
||||||
|
x=1
|
||||||
|
y=i0+2
|
||||||
|
z=i0+2
|
||||||
|
|
||||||
|
w=i1
|
||||||
|
x=1
|
||||||
|
y=i1+16
|
||||||
|
z=26*(i0+2)+i1+16
|
||||||
|
|
||||||
|
w=i2
|
||||||
|
x=1
|
||||||
|
y=i2+9
|
||||||
|
z=26*(26*(i0+2)+i1+16)+i2+9
|
||||||
|
|
||||||
|
w=i3
|
||||||
|
x=1
|
||||||
|
y=i3
|
||||||
|
z=26*(26*(26*(i0+2)+i1+16)+i2+9)+i3
|
||||||
|
|
||||||
|
w=i4
|
||||||
|
x=0
|
||||||
|
y=0
|
||||||
|
z=26*(26*(i0+2)+i1+16)+i2+9
|
||||||
|
[i4==i3-8]
|
||||||
|
|
||||||
|
w=i5
|
||||||
|
x=1
|
||||||
|
y=i5+12
|
||||||
|
z=26*(26*(26*(i0+2)+i1+16)+i2+9)+i5+12
|
||||||
|
[i4==i3-8]
|
||||||
|
|
||||||
|
w=i6
|
||||||
|
x=0
|
||||||
|
y=0
|
||||||
|
z=26*(26*(i0+2)+i1+16)+i2+9
|
||||||
|
[i4==i3-8][i6==i5-4]
|
||||||
|
|
||||||
|
w=i7
|
||||||
|
x=0
|
||||||
|
y=0
|
||||||
|
z=26*(i0+2)+i1+16
|
||||||
|
[i4==i3-8][i6==i5-4][i7==i2+5]
|
||||||
|
|
||||||
|
w=i8
|
||||||
|
x=1
|
||||||
|
y=i8+3
|
||||||
|
z=26*(26*(i0+2)+i1+16)+i8+3
|
||||||
|
[i4==i3-8][i6==i5-4][i7==i2+5]
|
||||||
|
|
||||||
|
w=i9
|
||||||
|
x=0
|
||||||
|
y=0
|
||||||
|
z=26*(i0+2)+i1+16
|
||||||
|
[i4==i3-8][i6==i5-4][i7==i2+5][i9=i8]
|
||||||
|
|
||||||
|
w=i10
|
||||||
|
x=1
|
||||||
|
y=i10+9
|
||||||
|
z=26*(26*(i0+2)+i1+16)+i10+9
|
||||||
|
[i4==i3-8][i6==i5-4][i7==i2+5][i9=i8]
|
||||||
|
|
||||||
|
w=i11
|
||||||
|
x=0
|
||||||
|
y=0
|
||||||
|
z=26*(i0+2)+i1+16
|
||||||
|
[i4==i3-8][i6==i5-4][i7==i2+5][i9=i8][i11=i10+2]
|
||||||
|
|
||||||
|
w=i12
|
||||||
|
x=0
|
||||||
|
y=0
|
||||||
|
z=i0+2
|
||||||
|
[i4==i3-8][i6==i5-4][i7==i2+5][i9=i8][i11=i10+2][i12=i1+1]
|
||||||
|
|
||||||
|
w=i13
|
||||||
|
x=0
|
||||||
|
y=0
|
||||||
|
z=0
|
||||||
|
[i4==i3-8][i6==i5-4][i7==i2+5][i9==i8][i11==i10+2][i12==i1+1][i13==i0-5]
|
||||||
38
24/interpreter.sh
Executable file
38
24/interpreter.sh
Executable file
@@ -0,0 +1,38 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
program=''
|
||||||
|
input=$1
|
||||||
|
input_i=0
|
||||||
|
while read line; do
|
||||||
|
case $line in
|
||||||
|
"inp"*)
|
||||||
|
program="${program}${line:4}"'=${input:$input_i:1};input_i=$((input_i+1));'
|
||||||
|
;;
|
||||||
|
"add"*)
|
||||||
|
program="${program}${line:4:1}="'$(('"${line:4:1}+${line:6}"'))'";"
|
||||||
|
;;
|
||||||
|
"mul"*)
|
||||||
|
program="${program}${line:4:1}="'$(('"${line:4:1}*${line:6}"'))'";"
|
||||||
|
;;
|
||||||
|
"div"*)
|
||||||
|
program="${program}${line:4:1}="'$(('"${line:4:1}/${line:6}"'))'";"
|
||||||
|
;;
|
||||||
|
"mod"*)
|
||||||
|
program="${program}${line:4:1}="'$(('"${line:4:1}%${line:6}"'))'";"
|
||||||
|
;;
|
||||||
|
"eql"*)
|
||||||
|
program="${program}${line:4:1}="'$(('"${line:4:1}==${line:6}"'))'";"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
w=0
|
||||||
|
x=0
|
||||||
|
y=0
|
||||||
|
z=0
|
||||||
|
eval $program
|
||||||
|
|
||||||
|
echo w=$w
|
||||||
|
echo x=$x
|
||||||
|
echo y=$y
|
||||||
|
echo z=$z
|
||||||
Reference in New Issue
Block a user