Tehtäväsi on toteuttaa luokka, jonka avulla pystyy lisäämään kaaren verkkoon sekä laskemaan, montako erilaista virittävää puuta verkolle voidaan muodostaa.
Voit olettaa, että verkossa on enintään solmua ja siihen lisätään enintään kaarta. Jokainen kaari on suuntaamaton ja verkossa ei ole kahta samanlaista kaarta.
Python
Toteuta tiedostoon alltrees.py
luokka AllTrees
, jossa on seuraavat metodit:
- konstruktori, jolle annetaan solmujen määrä
add_edge
lisää verkkoon kaarencount
ilmoittaa virittävien puiden määrän
class AllTrees: def __init__(self,n): # TODO def add_edge(self,a,b): # TODO def count(self): # TODO if __name__ == "__main__": a = AllTrees(3) a.add_edge(1,2) print(a.count()) # 0 a.add_edge(1,3) print(a.count()) # 1 a.add_edge(2,3) print(a.count()) # 3
Java
Toteuta tiedostoon AllTrees.java
luokka AllTrees
, jossa on seuraavat metodit:
- konstruktori, jolle annetaan solmujen määrä
addEdge
lisää verkkoon kaarencount
ilmoittaa virittävien puiden määrän
public class AllTrees { public AllTrees(int n) { // TODO } public void addEdge(int a, int b) { // TODO } public int count() { // TODO } public static void main(String[] args) { AllTrees a = new AllTrees(3); a.addEdge(1,2); System.out.println(a.count()); // 0 a.addEdge(1,3); System.out.println(a.count()); // 1 a.addEdge(2,3); System.out.println(a.count()); // 3 } }