CSES - Samat painot

Tehtäväsi on tutkia, onko annetun suuntaamattoman verkon jokaisella virittävällä puulla sama paino.

Toteuta luokka SameWeight, jossa on seuraavat metodit:

  • add_edge lisää solmujen a ja b välille kaaren, jonka paino on x
  • check ilmoittaa, onko verkon kaikilla virittävillä puilla sama paino (jos verkko ei ole yhtenäinen, haluttu vastaus on True)

Toteuta luokka tiedostoon sameweight.py seuraavan esimerkin mukaisesti.

class SameWeight:
    def __init__(self, n):
        # TODO

    def add_edge(self, a, b, x):
        # TODO

    def check(self):
        # TODO

if __name__ == "__main__":
    s = SameWeight(4)
    s.add_edge(1, 2, 2)
    s.add_edge(1, 3, 3)
    print(s.check()) # True
    s.add_edge(1, 4, 3)
    print(s.check()) # True
    s.add_edge(3, 4, 3)
    print(s.check()) # True
    s.add_edge(2, 4, 1)
    print(s.check()) # False