This commit is contained in:
2021-12-14 11:42:37 +01:00
parent 856a71bd06
commit 1312fbc3fd
2 changed files with 69 additions and 0 deletions

25
14/01.sh Executable file
View File

@@ -0,0 +1,25 @@
#!/bin/bash
rules=()
n_step=10
read polymer
read
while read line; do
rules+=( ${line% ->*}'|'${line#*-> } )
done
for ((i=0; i<$n_step; i++)); do
polymer_size=0
while [ $polymer_size -lt ${#polymer} ]; do
polymer_size=${#polymer}
for rule in ${rules[@]}; do
polymer=${polymer//${rule:0:2}/${rule:0:1}'|'${rule:3:1}'|'${rule:1:1}}
done
done
polymer=${polymer//'|'/}
done
occurences=( $(printf "%s\n" $(sed 's/\(.\)/\1 /g' <<< $polymer) | sort | uniq -c \
| sort -nr | sed 's/.$//') )
echo $((occurences[0]-occurences[-1]))