50 lines
911 B
Bash
50 lines
911 B
Bash
|
#!/bin/bash
|
||
|
yarr=()
|
||
|
arr_=()
|
||
|
zeroes=0
|
||
|
ones=0
|
||
|
|
||
|
while read line; do
|
||
|
yarr+=("$line")
|
||
|
done
|
||
|
|
||
|
function asdf() {
|
||
|
arr=(${yarr[@]})
|
||
|
for ((i=0; i<${#arr[0]}; i++)); do
|
||
|
for ((j=0; j<${#arr[@]}; j++)); do
|
||
|
if [[ $(cut -c$((i+1)) <<< "${arr[$j]}") == 0 ]]; then
|
||
|
zeroes=$((zeroes+1))
|
||
|
else
|
||
|
ones=$((ones+1))
|
||
|
fi
|
||
|
done
|
||
|
if [[ $zeroes -lt $ones && $1 == 1 || $zeroes == $ones && $1 == 1 ]] || \
|
||
|
[[ $zeroes -gt $ones && $1 == 0 ]]; then
|
||
|
for ((j=0; j<${#arr[@]}; j++)); do
|
||
|
[[ $(cut -c$((i+1)) <<< "${arr[$j]}") == "0" ]] && arr_+=("${arr[$j]}")
|
||
|
done
|
||
|
else
|
||
|
for ((j=0; j<${#arr[@]}; j++)); do
|
||
|
[[ $(cut -c$((i+1)) <<< "${arr[$j]}") == "1" ]] && arr_+=("${arr[$j]}")
|
||
|
done
|
||
|
fi
|
||
|
arr=(${arr_[@]})
|
||
|
arr_=()
|
||
|
|
||
|
if [[ "${#arr[@]}" == 1 ]]; then
|
||
|
break
|
||
|
fi
|
||
|
zeroes=0
|
||
|
ones=0
|
||
|
done
|
||
|
}
|
||
|
|
||
|
asdf 0
|
||
|
echo 0: ${arr[0]}
|
||
|
uwu=${arr[0]}
|
||
|
asdf 1
|
||
|
owo=${arr[0]}
|
||
|
echo 1: ${arr[0]}
|
||
|
|
||
|
echo $((2#$uwu*2#$owo))
|