Jos mahdollisia suoritustapoja on useita, mikä tahansa niistä hyväksytään.
Voit olettaa, että kursseja on enintään $50$ ja luokan metodeita kutsutaan enintään $100$ kertaa. Jokaisen kurssin nimi on merkkijono, jossa on enintään $10$ merkkiä.
Python
Toteuta tiedostoon
courseplan.py
luokka CoursePlan
, jossa on seuraavat metodit:- konstruktori
-
add_course
lisää annetun nimisen kurssin
-
add_requisite
lisää esitietovaatimuksen
-
find
etsii jonkin tavan suorittaa kurssit ja palauttaa järjestyksen listana (jos mitään tapaa ei ole, metodi palauttaaNone
)
class CoursePlan: def __init__(self): # TODO def add_course(self,course): # TODO def add_requisite(self,course1,course2): # TODO def find(self): # TODO if __name__ == "__main__": c = CoursePlan() c.add_course("Ohpe") c.add_course("Ohja") c.add_course("Tira") c.add_course("Jym") c.add_requisite("Ohpe","Ohja") c.add_requisite("Ohja","Tira") c.add_requisite("Jym","Tira") print(c.find()) # [Ohpe,Jym,Ohja,Tira] c.add_requisite("Tira","Tira") print(c.find()) # NoneJava
Toteuta tiedostoon
CoursePlan.java
luokka CoursePlan
, jossa on seuraavat metodit:-
addCourse
lisää annetun nimisen kurssin
-
addRequisite
lisää esitietovaatimuksen
-
find
etsii jonkin tavan suorittaa kurssit ja palauttaa järjestyksen listana (jos mitään tapaa ei ole, metodi palauttaanull
)
import java.util.*; public class CoursePlan { public void addCourse(String course) { // TODO } public void addRequisite(String course1, String course2) { // TODO } public ArrayList<String> find() { // TODO } public static void main(String[] args) { CoursePlan c = new CoursePlan(); c.addCourse("Ohpe"); c.addCourse("Ohja"); c.addCourse("Tira"); c.addCourse("Jym"); c.addRequisite("Ohpe","Ohja"); c.addRequisite("Ohja","Tira"); c.addRequisite("Jym","Tira"); System.out.println(c.find()); // [Ohpe,Jym,Ohja,Tira] c.addRequisite("Tira","Tira"); System.out.println(c.find()); // null } }