CSES - Planeetat

Pelissä on n planeettaa, jotka on numeroitu 1,2,\dots,n. Pelaaja aloittaa planeetalta 1 ja voittaa pelin, kun pääsee planeetalle n.

Planeettojen välillä voi liikkua teleporteilla. Jokainen teleportti voidaan kuvata parilla (a,b), missä a<b: teleportti vie planeetalta a planeetalle b.

Olet päässyt pelin läpi itse, mutta haluat estää, että kukaan voi enää voittaa peliä. Montako teleporttia sinun tulee poistaa vähintään pelistä?

Toteuta tiedostoon planets.py luokka Planets, jossa on seuraavat metodit:

  • add_teleport lisää teleportin planeetalta a planeetalle b
  • min_removals ilmoittaa pienimmän poistettavien teleporttien määrän
class Planets:
    def __init__(self, n):
        # TODO

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

    def min_removals(self):
        # TODO

if __name__ == "__main__":
    planets = Planets(5)

    print(planets.min_removals()) # 0

    planets.add_teleport(1, 2)
    planets.add_teleport(2, 5)
    print(planets.min_removals()) # 1

    planets.add_teleport(1, 5)
    print(planets.min_removals()) # 2