7a (bash)

This commit is contained in:
basicbonobo 2023-12-08 02:31:33 +01:00
parent 20d2292ce7
commit 7efc1c215d
1 changed files with 31 additions and 0 deletions

31
seven.bash Executable file
View File

@ -0,0 +1,31 @@
#!/usr/bin/env bash
re5='(.)\1\1\1\1'
re4='(.)\1\1\1|.(.)\2\2\2'
reboat='(.)\1\1(.)\2|(.)\3(.)\4\4'
re3='(.)\1\1'
re2p='(.)\1(.)\2|(.)\3.(.)\4'
re1p='(.)\1'
reany='.'
order() {
while read -rN1 c; do
echo $c
done <<<"$1" | sort -n | tr -d \\n
}
sorted=$(sed 's/A/E/g;s/K/D/g;s/Q/C/g;s/J/B/g;s/T/A/g' | sort -r |
while read -r hand bid; do
echo $hand $(order $hand) $bid
done)
for re in re5 re4 reboat re3 re2p re1p reany; do
rest=
while read -r hand ordered bid; do
if [[ $ordered =~ ${!re} ]]; then
echo $bid
else
rest=$rest"x $ordered $bid"$'\n'
fi
done <<<"$sorted"
sorted=$rest
done | tac | awk '{sum+=NR*$1} END{print sum}'