Passed part 1 but failed test case 2.

This commit is contained in:
2024-12-12 17:22:34 +08:00
parent 58f828fef3
commit 0f95c6367e

View File

@ -5,6 +5,7 @@ FILE=test-input-2
read -r -a MAP_ARRAY <<< "$( < "$FILE" paste -s -d "" | sed -E 's/(.)/\1\ /g' )" read -r -a MAP_ARRAY <<< "$( < "$FILE" paste -s -d "" | sed -E 's/(.)/\1\ /g' )"
MAP_LEN=${#MAP_ARRAY[@]} MAP_LEN=${#MAP_ARRAY[@]}
MAP_WIDTH=$(( $( head -1 "$FILE" | wc -c ) -1 )) MAP_WIDTH=$(( $( head -1 "$FILE" | wc -c ) -1 ))
MAP_WIDTH_INV=$(( 0 - MAP_WIDTH ))
MAP_HEIGHT=$( < "$FILE" wc -l ) MAP_HEIGHT=$( < "$FILE" wc -l )
printf "Len: %s Width: %s Height: %s\n" "$MAP_LEN" "$MAP_WIDTH" "$MAP_HEIGHT" printf "Len: %s Width: %s Height: %s\n" "$MAP_LEN" "$MAP_WIDTH" "$MAP_HEIGHT"
@ -19,14 +20,12 @@ check_adjacent () {
DIFF=$(( $2 - $1 )) DIFF=$(( $2 - $1 ))
# Valid adjacent distances # Valid adjacent distances
case "$DIFF" in if [[ $DIFF -eq 1 ]] || [[ $DIFF -eq -1 ]] || [[ $DIFF -eq $MAP_WIDTH ]] || [[ $DIFF -eq $MAP_WIDTH_INV ]]
1|-1|"${MAP_WIDTH}"|-"${MAP_WIDTH}") then
: :
;; else
*) return 1
return 1 fi
;;
esac
# Check for left/right bounds # Check for left/right bounds
if [[ $DIFF -eq 1 ]] && [[ $(( $2 % MAP_WIDTH )) -eq 0 ]] if [[ $DIFF -eq 1 ]] && [[ $(( $2 % MAP_WIDTH )) -eq 0 ]]