import networkx as nx

def xerrameques1(gx, n, mint):
    sx = set()
    for e1 in gx:
        if gx.degree(e1) > n:
            sx.add(e1)
    for e1, e2 in gx.edges:
        if gx[e1][e2]['minuts'] > mint:
            sx.add(e1)
            sx.add(e2)
    return sx

def xerrameques2(gx, n, mint):
    s = set()
    for e1 in gx:
        if gx.degree(e1) > n:
            s.add(e1)
        else:
            for e2 in gx[e1]:
                if gx[e1][e2]['minuts'] > mint:
                    s.add(e1)
                    break
    return s

# Tria la solució que vols provar

xerrameques = xerrameques1

def grup_xatejadors(gx, e):
    grup = nx.node_connected_component(gx, e)
    minuts = map(lambda t:t[2], gx.edges(grup, data='minuts'))
    return sorted(grup - {e}), sum(minuts)


