Bon, je viens de voir la faisabilité du bash en refaisant le dernier concours. Et franchement c'est super jouable :D. Tout dépend de ce qui est à faire et des structures de données utiles.
J'ai plus de 50pts avec ce code fait en 15-20mn (ça fait des mois que je n'avais pas fait de bash):
#!/bin/bash
# Read init information from standard input, if any
read TX TY
while true; do
# Read information from standard input
read H N
geantsX=()
geantsY=()
sumX=0
sumY=0
close=0
for ((i=0;i<$N;i++)); do
read X Y
geantsX[i]=$X
geantsY[i]=$Y
sumX=$((sumX + X))
sumY=$((sumY + Y))
diffX=$((TX - X))
diffY=$((TY - Y))
diffX=${diffX#-}
diffY=${diffY#-}
if (( diffX + diffY < 3 )); then
close=1
fi
done
if (( $close )); then
echo "STRIKE"
continue
fi
bcX=$((sumX / N))
bcY=$((sumY / N))
echo `{mathjax} sumX `sumY 1>&2
s=
if (( TY > bcY )); then
s="N"
(( TY-- ))
elif (( TY < bcY )); then
s="S"
(( TY++ ))
fi
if (( TX > bcX )); then
s="${s}W"
(( TX-- ))
elif (( TX < bcX )); then
s="${s}E"
(( TX++ ))
fi
if [[ "vide$s" = "vide" ]]; then
echo "WAIT"
else
echo $s
fi
done
[^] # Re: Ada ?
Posté par Maxime (site web personnel) . En réponse à la dépêche Concours de programmation CodinGame le 22 mars 2014. Évalué à 3.
Bon, je viens de voir la faisabilité du bash en refaisant le dernier concours. Et franchement c'est super jouable :D. Tout dépend de ce qui est à faire et des structures de données utiles.
J'ai plus de 50pts avec ce code fait en 15-20mn (ça fait des mois que je n'avais pas fait de bash):