CSES - Yhtenäisyys

Verkko on yhtenäinen, jos minkä tahansa kahden solmun välillä on reitti. Tehtäväsi on tarkastaa, onko annettu verkko yhtenäinen.

Esimerkiksi seuraava verkko on yhtenäinen, koska jokaisen kahden solmun välillä on reitti.

Seuraava verkko puolestaan ei ole yhtenäinen, koska esimerkiksi solmujen 1 ja 4 välillä ei ole reittiä.

Toteuta tiedostoon connectivity.py funktio connected, jolle annetaan listat verkon solmuista ja kaarista. Funktion tulee palauttaa True, jos verkko on yhtenäinen, ja muuten False.

def connected(nodes, edges):
    # TODO

if __name__ == "__main__":
    nodes = [1, 2, 3, 4, 5]
    edges = [(1, 2), (1, 3), (1, 4), (2, 4), (2, 5), (3, 4), (4, 5)]
    print(connected(nodes, edges)) # True

    nodes = [1, 2, 3, 4, 5, 6, 7, 8]
    edges = [(1, 2), (1, 3), (2, 3), (4, 5), (4, 6), (5, 7), (6, 7)]
    print(connected(nodes, edges)) # False

    nodes = [1, 2, 3, 4, 5]
    edges = []
    print(connected(nodes, edges)) # False

    nodes = [1, 2, 3, 4, 5]
    edges = [(1, 2), (1, 3), (1, 4), (1, 5)]
    print(connected(nodes, edges)) # True