Verkossa on n solmua ja se on aluksi tyhjä. Tehtäväsi on toteuttaa luokka, jonka avulla pystyy lisäämään kaaren verkkoon sekä tutkimaan, voiko solmut värittää kahdella värillä niin, että jokainen kaari yhdistää kaksi eriväristä solmua.
Voit olettaa, että solmuja on enintään 50 ja luokan metodeita kutsutaan enintään 100 kertaa.
Toteuta tiedostoon coloring.py
luokka Coloring
, jossa on seuraavat metodit:
- konstruktori, jolle annetaan solmujen määrä
add_edge
lisää kaaren kahden solmun välillecheck
tarkastaa, voiko verkon värittää kahdella värillä
class Coloring: def __init__(self, n): # TODO def add_edge(self, a, b): # TODO def check(self): # TODO if __name__ == "__main__": c = Coloring(4) c.add_edge(1, 2) c.add_edge(2, 3) c.add_edge(3, 4) c.add_edge(1, 4) print(c.check()) # True c.add_edge(2, 4) print(c.check()) # False