CSES - Syklit Tehtäväsi on toteuttaa luokka, jonka avulla pystyy lisäämään kaaren suunnattuun verkkoon sekä tutkimaan, onko verkossa suunnattua sykliä.

Voit olettaa, että solmuja on enintään $50$ ja luokan metodeita kutsutaan enintään $100$ kertaa.

Toteuta tiedostoon cycles.py luokka Cycles, jossa on seuraavat metodit:
  • konstruktori, jolle annetaan solmujen määrä
  • add_edge lisää kaaren solmusta $a$ solmuun $b$
  • check tarkastaa, onko verkossa suunnattua sykliä
class Cycles:
    def __init__(self,n):
        # TODO

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

    def check(self):
        # TODO

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