Problem mit dem Projekt Euler Problem 18 [geschlossen]

8

Ich versuche gerade, Problem 18 des Projekts Euler zu lösen. Das Ziel ist:

  

Wenn Sie oben im unteren Dreieck beginnen und zu den benachbarten Zahlen in der darunter liegenden Reihe gehen, ist die maximale Summe von oben nach unten 23.

%Vor%      

Das heißt, 3 + 7 + 4 + 9 = 23.

     

Finden Sie die maximale Summe von oben nach unten im folgenden Dreieck:

%Vor%

Ich habe versucht, es mit dem folgenden Algorithmus zu lösen:

%Vor%

Die Array-Werte enthalten alle Zahlen aus dem Dreieck, wobei values[0][0] das Element in der obersten Zeile und values[n][n] das letzte Element in der letzten Zeile ist.

Der Algorithmus verwendet den Ansatz, dass, wenn ich zum Beispiel in der letzten Zeile anfange und die Wahl zwischen 04 + 63 und 62 + 63 habe, die Summe des Feldes, in dem 63 war, auf 125 gesetzt wird, weil dies die höchste ist Menge. Dieser Algorithmus funktioniert für das kleine Dreieck, aber für das große Dreieck scheint es zu versagen. Ich bin mir nicht sicher warum und würde mich über jeden Hinweis freuen.

    
iCodez 26.04.2011, 15:33
quelle

3 Antworten

4

Ich glaube, dass die Linie:

%Vor%

sollte

sein %Vor%

weil Sie gerade nicht das letzte Element in jeder Reihe besuchen. Natürlich brauchst du dann nicht die Zeile

%Vor%

weil es bereits in der Schleife gemacht wurde.

    
Justin Peel 26.04.2011, 15:44
quelle
3

Ich kenne den richtigen Algorithmus nicht, aber es gibt einen einfachen Beweis von @Johns Kommentar zu der Frage, dass die beste lokale Wahl nicht unbedingt zur besten globalen Lösung führt.

Betrachten Sie dieses (extreme) Beispiel:

%Vor%

Wenn Sie Ihren Algorithmus verwenden, würden Sie ganz links vom Pfad gehen und niemals die 1000 lesen, die müssen auf dem besten Pfad sein müssen.

    
Joachim Sauer 26.04.2011 15:53
quelle
0

Dies ist vielleicht nicht die beste Lösung, aber was wäre, wenn Sie für jede Iteration die Summe bis zu diesem Punkt verfolgen würden. Wenn Sie dann in die letzte Zeile gehen, wäre der Maximalwert Ihre Antwort.

    
John Kane 26.04.2011 15:49
quelle

Tags und Links