• [^] # Re: jour 23 - cracra

    Posté par . En réponse au journal Advent of code 2024. Évalué à 4.

    En tenant compte de la forme du graphe, j'utilise uniquement la théorie des sets et je descends à 17ms. Et même à 4ms si je coupe à la première occurrence.

    import sys
    from collections import defaultdict as DD
    from itertools import combinations as comb
    D = DD(set)
    for i in sys.stdin.read().strip().split('\n'):
     a, b = i.split("-")
     D[a].add(b)
     D[b].add(a)
    for k, v in D.items():
     for i in v:
     w = v - {i}
     if all(b in D[a] for a,b in comb(w,2)):
     print(",".join(sorted({k}|w)))
     #sys.exit(0)

    Je sais il est tard mais bon je pouvais pas rester avec un prod aussi lent.