Day 22
This commit is contained in:
45
22/01.sh
Executable file
45
22/01.sh
Executable file
@@ -0,0 +1,45 @@
|
||||
#!/bin/bash
|
||||
|
||||
declare -A cores
|
||||
for ((i=-50;i<=50;i++)); do
|
||||
for ((j=-50;j<=50;j++)); do
|
||||
for ((k=-50;k<=50;k++)); do
|
||||
cores[$i,$j,$k]=0
|
||||
done
|
||||
done
|
||||
done
|
||||
|
||||
while read line; do
|
||||
if [[ ${line:0:2} == "on" ]]; then
|
||||
new_value=1
|
||||
else
|
||||
new_value=0
|
||||
fi
|
||||
t=${line#*x=}
|
||||
t=${t%%,*}
|
||||
x_1=${t%\.\.*}
|
||||
x_2=${t#*\.\.}
|
||||
t=${line#*y=}
|
||||
t=${t%%,*}
|
||||
y_1=${t%\.\.*}
|
||||
y_2=${t#*\.\.}
|
||||
t=${line#*z=}
|
||||
t=${t%%,*}
|
||||
z_1=${t%\.\.*}
|
||||
z_2=${t#*\.\.}
|
||||
|
||||
if [ $x_1 -lt -50 ] || [ $x_2 -gt 50 ] || [ $y_1 -lt -50 ] || [ $y_2 -gt 50 ] \
|
||||
|| [ $z_1 -lt -50 ] || [ $z_2 -gt 50 ]; then
|
||||
continue
|
||||
fi
|
||||
|
||||
for ((x=x_1;x<=x_2;x++)); do
|
||||
for ((y=y_1;y<=y_2;y++)); do
|
||||
for ((z=z_1;z<=z_2;z++)); do
|
||||
cores[$x,$y,$z]=$new_value
|
||||
done
|
||||
done
|
||||
done
|
||||
done
|
||||
|
||||
echo $(( $(sed 's/ /+/g' <<< ${cores[@]}) ))
|
||||
Reference in New Issue
Block a user