Add everything I got
This commit is contained in:
63
3b.sh
Executable file
63
3b.sh
Executable file
@@ -0,0 +1,63 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
|
||||
function lowi() {
|
||||
low=${#1}
|
||||
i=0
|
||||
li=0
|
||||
shift
|
||||
|
||||
for l in "$@"; do
|
||||
let i++
|
||||
if [ ${#l} -lt $low ]; then
|
||||
li=$i
|
||||
low=${#l}
|
||||
fi
|
||||
done
|
||||
|
||||
echo $li
|
||||
}
|
||||
|
||||
declare -A P
|
||||
|
||||
p=0
|
||||
|
||||
for i in {a..z} {A..Z}; do
|
||||
let p++
|
||||
P[$i]=$p
|
||||
done
|
||||
|
||||
|
||||
sum=0
|
||||
|
||||
while read a; read b; read c; do
|
||||
bags=( $a $b $c )
|
||||
|
||||
li=$(lowi $a $b $c)
|
||||
|
||||
x=${bags[li]}
|
||||
y=${bags[$(( (li + 1) % 3 ))]}
|
||||
z=${bags[$(( (li + 2) % 3 ))]}
|
||||
c1=''
|
||||
|
||||
for i in `seq 0 $(( ${#bags[$li]} - 1 ))`; do
|
||||
if [[ $y == *${x:$i:1}* ]]; then
|
||||
c1="${c1}${x:$i:1}"
|
||||
fi
|
||||
done
|
||||
|
||||
for i in `seq 0 $(( ${#c1} - 1 ))`; do
|
||||
if [[ $z == *${c1:$i:1}* ]]; then
|
||||
c=${c1:$i:1}
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
let sum+=P[$c]
|
||||
c=''
|
||||
|
||||
done
|
||||
|
||||
echo $sum
|
||||
|
||||
|
||||
Reference in New Issue
Block a user