Ça, c'est typique des problèmes avec une résolution intuitive pas optimale, et qui devient intenable pour la seconde partie.
Plutôt que de stocker une liste de tous les poissons avec leur compteur interne, l'astuce est de plutôt stocker, pour chaque valeur possible de compteur interne (de 0 à 8), le nombre de poissons qui ont cette valeur-là.
#! /usr/bin/python3fishes=[0]*9# for each value of their internal timer, the number of fishes with that valuewithopen("6.in")asf:forwordinf.read().rstrip().split(','):fishes[int(word)]+=1fordayinrange(256):new_fishes=[0]*9fori,ninenumerate(fishes):ifi==0:new_fishes[6]+=nnew_fishes[8]+=nelse:new_fishes[i-1]+=nfishes=new_fishesprint(sum(fishes))
[^] # Re: Ada corse le tout
Posté par 🚲 Tanguy Ortolo (site web personnel) . En réponse au journal Calendrier de l'Avent du code. Évalué à 4.
Ça, c'est typique des problèmes avec une résolution intuitive pas optimale, et qui devient intenable pour la seconde partie.
Plutôt que de stocker une liste de tous les poissons avec leur compteur interne, l'astuce est de plutôt stocker, pour chaque valeur possible de compteur interne (de 0 à 8), le nombre de poissons qui ont cette valeur-là.