From da0db2fde165f361f73a2cdb0a1e61dca1ab148a Mon Sep 17 00:00:00 2001 From: Clement Date: Mon, 9 Dec 2024 01:33:31 +0800 Subject: [PATCH] working builds --- 2024/day-8/solution-2.sh | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) 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++ ))