7a (bash)
This commit is contained in:
parent
20d2292ce7
commit
7efc1c215d
|
@ -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}'
|
Loading…
Reference in New Issue