• Hallo,

    könnte mir jmd. helfen, wie man folgende Aufgabe löst, steh irgendwie auf dem Schlauch. Danke.
    ____________________________________________________________________________________________________

    Für eine längere Reise stehen schon die Strecke mit den möglichen Übernachtungsorten sowie die Anzahl der Reisetage
    fest. Es sollen nun die Übernachtungsorte fixiert werden, und zwar so, dass die Länge der längsten Tagesetappe möglichs
    klein ist. Die Distanzen zwischen den möglichen Übernachtungsorten sind in einem Array distanzen[] gegeben. Schreiben
    Sie eine Klasse Etappen mit einer Methode

    static int[] maxEtappe(int distanzen[], int anzTage)

    die ein Array der Größe anzTage-1 zurückliefert, das die Nummern von optimal gewählten Übernachtungsorten enthält.
    Dabei enthält distanzen[i] die Distanz von Übernachtungsort i-1 zu Übernachtungsort i, distanzen[0] enthält die Distanz
    vom Start der Reise zu Übernachtungsort 0, und distanzen[distanzen.length-1] enthält die Distanz von Übernachtungsort
    distanzen.length-1 zum Ziel der Reise.
    Beispiel: Wenn das Array distanzen die Werte {11,16,5,5,12,10} enthält, und anzTage=3 ist, dann ist die richte Lösung
    {0,3}, was einer optimalen Aufteilung der Etappen 11,16+5+5,12+10 entspricht.

  • 1) Der Titel ist etwas unpassend, ist ja kein konkretes Java-Problem
    2) Ist es hier im Forum (bzw in allen Foren) Usus keine fertigen Lösungen zu "mach meine Hausaufgabe" anzugeben

    Versuchen wir mal das Problem zu vereinfachen,
    wenn ich das alles richtig versteh gehts darum das array "distanzen" in anzTage Partitionen aufzuteilen,
    Bekannt ist:
    dist[0-v[0]] = erster Tag
    dist[v[ende]-ende] = letzter Tag
    dazwischen die partitionierungen, die liesen sich dann zB mit 0/1-mengen darstellen

    Zu deiner Angabe noch eine Frage, müsste es nicht {1,3} sein?

    Thomas

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!