30 lines
751 B
Bash
30 lines
751 B
Bash
#!/bin/sh
|
|
|
|
gamesum=0 powersum=0
|
|
|
|
while IFS=: read -r game line; do
|
|
rmax=0 gmax=0 bmax=0 fail=""
|
|
game=${game##* }
|
|
IFS=";"
|
|
set -- $line
|
|
IFS=" ,"
|
|
for roll; do
|
|
last=""
|
|
while [ -z "$last" ]; do
|
|
roll=${roll#* }
|
|
[ "${roll%%,*}" = "$roll" ] && last=1
|
|
case ${roll%%,*} in
|
|
*red) [ "${roll%% *}" -gt 12 ] && fail=1; [ "${roll%% *}" -gt $rmax ] && rmax=${roll%% *} ;;
|
|
*green) [ "${roll%% *}" -gt 13 ] && fail=1; [ "${roll%% *}" -gt $gmax ] && gmax=${roll%% *} ;;
|
|
*blue) [ "${roll%% *}" -gt 14 ] && fail=1; [ "${roll%% *}" -gt $bmax ] && bmax=${roll%% *} ;;
|
|
esac
|
|
roll=${roll#*,}
|
|
done
|
|
done
|
|
[ -z "$fail" ] && gamesum=$((gamesum + game))
|
|
powersum=$((powersum + (rmax * gmax * bmax)))
|
|
done
|
|
|
|
echo 1: $gamesum
|
|
echo 2: $powersum
|