Working part 1
This commit is contained in:
@ -73,36 +73,40 @@ get_nine () {
|
|||||||
COMBINATIONS+=( "$INDEX" )
|
COMBINATIONS+=( "$INDEX" )
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
printf "Get: %s \n" "$GET_NUM" >&2
|
#PRINT1=$( printf "%s " "$TRAIL" )
|
||||||
printf "trail: %s \n" "$TRAIL" >&2
|
#PRINT2=$( printf "%s " "${COMBINATIONS[@]}" )
|
||||||
printf "neighbors found : %s \n" "${COMBINATIONS[@]}" >&2
|
#printf "trail: %s, Get: %s, combinations: %s \n" "$PRINT1" "$GET_NUM" "$PRINT2" >&2
|
||||||
|
|
||||||
# Check if the end has been reached
|
# Check if the end has been reached
|
||||||
# or no matching neighbors
|
# or no matching neighbors
|
||||||
if [[ $GET_NUM -eq 9 ]] || [[ ${#COMBINATIONS[@]} -eq 0 ]]
|
if [[ $GET_NUM -eq 9 ]] || [[ ${#COMBINATIONS[@]} -eq 0 ]]
|
||||||
then
|
then
|
||||||
# Exit recursion
|
# Exit recursion
|
||||||
printf "%s" "${#COMBINATIONS[@]}"
|
printf "%s " "${COMBINATIONS[@]}"
|
||||||
|
#printf "%s " "${COMBINATIONS[@]}" >&2
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Recurse
|
# Recurse
|
||||||
TOTAL=0
|
|
||||||
NEXT_NUM=$(( GET_NUM+=1 ))
|
NEXT_NUM=$(( GET_NUM+=1 ))
|
||||||
|
read -r -a RESULTS <<< "$(
|
||||||
for INDEX in "${COMBINATIONS[@]}"
|
for INDEX in "${COMBINATIONS[@]}"
|
||||||
do
|
do
|
||||||
COUNT=$(
|
RESULT=$(
|
||||||
get_nine \
|
get_nine \
|
||||||
"$NEXT_NUM" \
|
"$NEXT_NUM" \
|
||||||
"$( get_valid_neighbors "$INDEX" )" \
|
"$( get_valid_directions "$INDEX" )" \
|
||||||
"$INDEX"
|
"$INDEX"
|
||||||
)
|
)
|
||||||
(( TOTAL+=COUNT ))
|
printf "%s " "$RESULT"
|
||||||
done
|
done
|
||||||
printf "%s" "$TOTAL"
|
)"
|
||||||
|
printf "%s " "${RESULTS[@]}"
|
||||||
|
#printf "%s " "${RESULTS[@]}" >&2
|
||||||
|
#printf "\n" >&2
|
||||||
}
|
}
|
||||||
|
|
||||||
get_valid_neighbors () {
|
get_valid_directions () {
|
||||||
|
|
||||||
IDX=$1
|
IDX=$1
|
||||||
NUM=1
|
NUM=1
|
||||||
@ -134,14 +138,14 @@ get_valid_neighbors () {
|
|||||||
printf "%s" "$NUM"
|
printf "%s" "$NUM"
|
||||||
}
|
}
|
||||||
|
|
||||||
PATH_COUNT=0
|
ITER=9999
|
||||||
ITER=999999
|
TOTAL=0
|
||||||
for TRAILHEAD in "${TRAILHEADS[@]}"
|
for TRAILHEAD in "${TRAILHEADS[@]}"
|
||||||
do
|
do
|
||||||
COUNT=$( get_nine "1" "$( get_valid_neighbors "$TRAILHEAD" )" "$TRAILHEAD" )
|
read -r -a PEAKS <<< "$( get_nine "1" "$( get_valid_directions "$TRAILHEAD" )" "$TRAILHEAD" )"
|
||||||
(( PATH_COUNT+=COUNT ))
|
COUNT=$( printf "%s " "${PEAKS[@]}" | grep -Eo '[0-9]*' | sort -u | wc -l )
|
||||||
|
(( TOTAL+=COUNT ))
|
||||||
(( ITER-- ))
|
(( ITER-- ))
|
||||||
if [[ $ITER -eq 0 ]] ;then break; fi
|
if [[ $ITER -eq 0 ]] ;then break; fi
|
||||||
done
|
done
|
||||||
|
printf "%s\n" "$TOTAL"
|
||||||
printf "%s\n" "$PATH_COUNT"
|
|
||||||
|
Reference in New Issue
Block a user