Tietoverkossa on n tietokonetta, jotka on numeroitu 1,2,\dots,n. Koneiden välillä voi olla yksisuuntaisia yhteyksiä. Yhteys a \rightarrow b tarkoittaa, että koneelta a voi lähettää viestin koneelle b.
Tehtäväsi on selvittää yhteyksien luomisen jälkeen, onko jokaiselta koneelta mahdollista lähettää viesti mille tahansa toiselle koneelle. Viesti voi kulkea yhden tai useamman yhteyden kautta.
Toteuta tiedostoon connections.py
luokka Connections
, jossa on seuraavat metodit:
add_link
lisää yksisuuntaisen yhteyden koneelta a koneelle bcheck_network
ilmoittaa, voiko jokaiselta koneelta lähettää viestin kaikille muille koneille
class Connections: def __init__(self, n): # TODO def add_link(self, a, b): # TODO def check_network(self): # TODO if __name__ == "__main__": connections = Connections(5) connections.add_link(1, 2) connections.add_link(2, 3) connections.add_link(1, 3) connections.add_link(4, 5) print(connections.check_network()) # False connections.add_link(3, 5) connections.add_link(1, 4) print(connections.check_network()) # False connections.add_link(5, 1) print(connections.check_network()) # True