• [^] # Re: Ada corse le tout

    Posté par . En réponse au journal Calendrier de l'Avent du code. Évalué à 2. Dernière modification le 01 décembre 2022 à 21:21.

    j'adore ces jours là, quand la solution naïve ne scale pas.

    solution naïve :

    L=list(map(int,__import__("sys").stdin.read().split(",")))
    for i in range(80):
     L = [ (l-1) for l in L ]
     n = sum( l < 0 for l in L)
     L = [ l if l>=0 else 6 for l in L ]
     L += [8]*n
    print(len(L))

    solution qui scale, même solution que toi en gros :

    D ={ i:0 for i in range(9) }
    for l in list(map(int,__import__("sys").stdin.read().split(","))):
     D[l]+=1
    for i in range(256):
     D = { i-1:D[i] for i in range(9) }
     D[6] += D[-1]
     D[8] = D[-1]
     del D[-1]
    print(sum(D.values()))