47 lines
506 B
Bash
Executable File
47 lines
506 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
winl=4
|
|
win=''
|
|
|
|
function add() {
|
|
win="${win:1}${1}"
|
|
}
|
|
|
|
function contains() {
|
|
# $1 what
|
|
# $2 where
|
|
local l=${#2}
|
|
local ret=1
|
|
|
|
while (( l-- )); do
|
|
[[ "$1" = "${2:$l:1}" ]] && ret=0 && break
|
|
done
|
|
|
|
return $ret
|
|
}
|
|
|
|
|
|
function unq() {
|
|
local l=${#1}
|
|
|
|
while (( --l )); do
|
|
contains ${1:$l:1} ${1:0:$l} && break
|
|
done
|
|
|
|
return $l
|
|
}
|
|
|
|
i=$(( $winl - 1 ))
|
|
|
|
read -n $i win
|
|
|
|
win=${win:0:1}${win}
|
|
|
|
while read -n 1 a; do
|
|
let i++
|
|
add $a
|
|
unq "$win" && break
|
|
done
|
|
|
|
echo $i
|