CSES - Planeetat

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

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

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 aa planeetalle bb
  • 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