Muodosta syklitön suunnattu verkko, jonka solmut ovat . Verkossa tulee olla erilaista polkua solmusta solmuun . Verkossa saa olla korkeintaan kaarta ja jokaisen kaaren tulee olla erilainen.
Toteuta tiedostoon paths2.py
funktio create_edges
, joka palauttaa verkon rakenteen listana kaaria tupleina. Esimerkiksi lista [(1, 2), (4, 5)]
tarkoittaisi, että verkossa on kaksi kaarta ja .
Voit olettaa, että on välillä kaikissa testeissä.
Voit testata funktiosi toimintaa kurssimateriaalissa olevan luokan CountPaths
avulla. Tehtäväpohjassa metodin count_paths
tulisi antaa tulos , kun verkko on oikein muodostettu.
class CountPaths: # voit kopioida tämän luokan kurssimateriaalista def create_edges(x): # TODO if __name__ == "__main__": edges = create_edges(123456789) counter = CountPaths(range(1, 100 + 1)) for edge in edges: counter.add_edge(edge[0], edge[1]) print(counter.count_paths(1, 100)) # 123456789