diff --git a/2024/day-8/solution-2.sh b/2024/day-8/solution-2.sh index b52af9a..fc51fd6 100644 --- a/2024/day-8/solution-2.sh +++ b/2024/day-8/solution-2.sh @@ -28,9 +28,11 @@ do for (( i=0; i<${#IDX_ARRAY[@]}-1; i++ )) do A=${IDX_ARRAY[i]} + SHADOW_ARRAY[A]=X for (( j=i+1; j<${#IDX_ARRAY[@]}; j++ )) do B=${IDX_ARRAY[j]} + SHADOW_ARRAY[B]=X DIFF=$(( B - A )) VDIFF=$(( (B / LEN) - (A / LEN) )) # Assign heads @@ -38,11 +40,11 @@ do while true do HEAD=$(( A - DIFF * HEADC )) - HEADVDIFF=$(( ( (A / LEN) - (HEAD / LEN) ) / HEADC )) + HEADVDIFF=$(( (A / LEN) - (HEAD / LEN) )) # Check if out of bounds if [[ $HEAD -lt ${#MAP_ARRAY[@]} ]] && \ [[ $HEAD -ge 0 ]] && \ - [[ $HEADVDIFF -eq $VDIFF ]] + [[ $HEADVDIFF -eq $(( VDIFF * HEADC )) ]] then SHADOW_ARRAY[HEAD]=X # Mark on shadow map (( HEADC++ )) @@ -55,11 +57,11 @@ do while true do TAIL=$(( B + DIFF * TAILC )) - TAILVDIFF=$(( ( (TAIL / LEN) - (B / LEN) ) / TAILC )) + TAILVDIFF=$(( (TAIL / LEN) - (B / LEN) )) # Check if out of bounds if [[ $TAIL -lt ${#MAP_ARRAY[@]} ]] && \ [[ $TAIL -ge 0 ]] && \ - [[ $TAILVDIFF -eq $VDIFF ]] + [[ $TAILVDIFF -eq $(( VDIFF * TAILC )) ]] then SHADOW_ARRAY[TAIL]=X # Mark on shadow map (( TAILC++ ))