Files
advent-of-code/2020/day22/ex1.bash
2021-07-31 13:13:30 +02:00

43 lines
874 B
Bash
Executable File

#!/bin/bash
#
# ex1.bash: Advent2020 game, day 22/game 1.
CMD=${0##*/}
shopt -s extglob
set -o noglob
declare -a cards=() CARDS1=() CARDS2=()
declare -i count=-1
while read -r line; do
case ${line:0:1} in
P*)
((count++))
;;
[1-9]*)
cards[$count]+=" $line"
;;
esac
done
# shellcheck disable=SC2206
CARDS1=(${cards[0]});
# shellcheck disable=SC2206
CARDS2=(${cards[1]})
while ((${#CARDS1[@]} > 0 && ${#CARDS2[@]})); do
# shellcheck disable=SC2128
((CARDS1 > CARDS2)) && CARDS1+=("$CARDS1" "$CARDS2") || CARDS2+=("$CARDS2" "$CARDS1")
CARDS1=("${CARDS1[@]:1}")
CARDS2=("${CARDS2[@]:1}")
done
cards=()
for i in "${CARDS1[@]}" "${CARDS2[@]}"; do
cards=("$i" "${cards[@]}")
done
n=1
res=0
for i in "${cards[@]}"; do
((res+=n*i, n++))
done
printf "%s: res=%d\n" "$CMD" "$res"
exit 0