Bundeswettbewerb Informatik [2006]

das Rucksackproblem klingt mir doch stark nach Aufgabe 1 ^^

Hatte ich schon gedanklich und auf dem Papier mit rumgespielt (Ergebnis war übrigens das Gleiche ^^); aber wenn ich mir das jetzt so anschaue, dann ist der rekursive Ansatz eleganter (es sei denn ich habe das Rucksackproblem zu Brute-Force-mäßig in Erwägung gezogen). Der Rechenaufwand mit dieser Variante kommt mir nur erheblich höher vor und Regeln (falls es sie gibt ^^) sind mir lieber.
 
Code:
Runde1: 1000 (790)
Runde2: 1790 (1660)
Runde3: 2660 (2450)
Runde4: 3450 (3420)
Runde5: 4420 (4210)
Runde6: 5210 (5200)
Runde7: 6200 (5990)
Runde8: 6990 (6860)
Runde9: 7860 (7650)
Runde10: 8650 (8620)
Runde11: 9620 (9410)
Runde12: 10410 (10080)
Runde13: 11080 (10420)

also habe die Aufgabe nun doch mit rekursion gemacht und das geht eigentlich sau schnell, ich habe eben die rekursion nur darum erweitert nicht weiter rekursiv zu handeln wenn man eh schon mehr Gegenstände selektiert hat als man Geld hat.
Das Problem ist nur, bei beispiel4.txt bricht es schon nach dem 2. Monat auf Grund der riesigen Datenmenge ab^^

Edit: das Script bricht auch schon bei den anderen Beispielen aus den Materialien ab :( vllt sind rekursive Funktionen wirklich nicht das beste^^
 
Zuletzt bearbeitet:
Beispiel4 ist doch sowieso nicht lösbar, da die monatliche Geldmenge kleiner ist als der günstigste Gegenstand.

MfG respawner
 
für die Anprobe habe ich @ mom noch keine Idee zum Umsetzen von allen Möglichkeiten, optimiere ich lieber Aufgabe 1 das die ordentlich funzt
 
dachte eher dass Routenplaner damit arbeiten:
https://de.wikipedia.org/wiki/Algorithmus_von_Dijkstra
Hier hat man wenigsten keine Rekursionen die ja sehr speicherlastig sein können.

hm, stimmt. wir hatten damals alle algorithmen zusammen besprochen (wenn man das als ausrede durchgehen läßt) :)

rekursion ist trotzdem die richtige wahl *g*

@ ice
wenn du lediglich mit referenzen arbeitest, als zusatz vielleicht noch nen index (is nur grad so ne idee) und das resultat (natürlich auch per referenz) übergibst, fehlerhafte durchläufe direkt wieder löschst, usw.. solltest du eine extrem minimale speicherauslastung haben.

ich halt mich hier jetzt aber eh raus :)
 
@ ice
wenn du lediglich mit referenzen arbeitest, als zusatz vielleicht noch nen index (is nur grad so ne idee) und das resultat (natürlich auch per referenz) übergibst, fehlerhafte durchläufe direkt wieder löschst, usw.. solltest du eine extrem minimale speicherauslastung haben.
was meinst du wie ich es gelöst habe? ^^
referenzen aber nur z.T. da dies eine erhebliche Verkomplizierung des Codes wäre, denn ich muss den ganzen Mist ja nachher auch noch kommentieren :LOL:
 
+grml+ Der Informatikwettbewerb für Baden-Württemberg ist imo nicht ganz einfach.. das mit den Umstiegen (bzw. Einstiegen) und den passenden Zeiten ist nicht so ganz das Wahre... ehrlich gesagt hasse ich es langsam Umstiege/Einstiege zu erfassen.. weil ich es dauernd woanders hinschreiben muss und wieder mal geht's jetzt nicht mehr.. im Gegensatz zu vorher, nur wär's da doof zu bearbeiten gewesen beziehungsweise nicht vollständig. Hassbar.. hat das von euch nun jemand auch bearbeitet bisher?
 
also ich habe jetzt aufgabe 4 den admin bereich praktisch kompltt fertig.
ich finde die aufgabe eigentlich sau einfach ist halt nur bissl vile code da ich nen kompletten adminbereich baue :D