Ich denke, die uebliche Wald erzeugung genuegt nicht, weil jeder Weg gegangen werden muss. Das Problem, dass Pred bei der letzten, vorletzten Rekursion wieder hergestellt werden muss
Ich denke, das lohnt sich eben einen stapel zu verwenden, das letzte pred drauf zu tun und dann wieder als false zu markieren
So, jetzt fuelle ich erst Mal die Adjazenzmatrix. Ich tue die Abstaende rein.
So, ich schreibe jetzt erst Mal Staedte und Abstaende auf, in das Array der Adjazenzmatrix
// ich habe jetzt hier eine neue funktion void init_adjazenzmatrix_city (int a [N][N]) { /* * * } Da schreibe ich jetzt im Kommentar, die Abstaende rein.
void init_adjazenzmatrix_city (int a [N][N]) { /* Holzmarkt, 0 * Judengasse, 1 * Neckarbruecke, 2 * Jakobuskirche, 3 * Kelternplatz 4 */ }
void init_adjazenzmatrix_city (int a [N][N]) { /* Holzmarkt, 0 * Judengasse, 1 * Neckarbruecke, 2 * Jakobuskirche, 3 * Kelternplatz, 4 */ /* * (Holzmarkt, Judengasse, 350m) (Holzmarkt, Neckarbruecke, 300m) (Holzmarkt, Jakobuskirche, 500m) (Holzmarkt, Kelternplatz, 600m) (Judengasse, Neckarbruecke, 160m) (Judengasse, Jakobuskirche, 160m) (Judengasse, Kelternplatz, 350m) (Neckarbruecke, Jakobuskirche, 800m) (Neckarbruecke, Kelternplatz, 950m) (Jakobuskirche, Kelternplatz, 220m) */ #define HOLZMARKT 0 #define JUDENGASSE 1 #define NECKARBRUECKE 2 #define JAKOBUSKIRCHE 3 #define KELTERNPLATZ 4 a [HOLZMARKT][JUDENGASSE] = 300; a [JUDENGASSE][HOLZMARKT] = 300; a [HOLZMARKT][NECKARBRUECKE] = 300; a [NECKARBRUECKE][HOLZMARKT] = 300; a [HOLZMARKT][JAKOBUSKIRCHE] = 350; a [HOLZMARKT][KELTERNPLATZ] = 600; }
Es sind uebrigens, nicht
ist auch logisch Weil - sie haben ja - \begin{verbatim}>a, b, c, d, e, f, g
Und rechnen wir aus
4*3*2*1 = 12*2 = 24
Ist weniger. Also koennte das stimmen
// so jetzt habe ich das so gemacht, jetzt mache ich noch bei gleichen 0, rein void init_adjazenzmatrix_city (int a [N][N]) { /* Holzmarkt, 0 * Judengasse, 1 * Neckarbruecke, 2 * Jakobuskirche, 3 * Kelternplatz, 4 */ /* * (Holzmarkt, Judengasse, 350m) (Holzmarkt, Neckarbruecke, 300m) (Holzmarkt, Jakobuskirche, 500m) (Holzmarkt, Kelternplatz, 600m) (Judengasse, Neckarbruecke, 160m) (Judengasse, Jakobuskirche, 160m) (Judengasse, Kelternplatz, 350m) (Neckarbruecke, Jakobuskirche, 800m) (Neckarbruecke, Kelternplatz, 950m) (Jakobuskirche, Kelternplatz, 220m) */ #define HOLZMARKT 0 #define JUDENGASSE 1 #define NECKARBRUECKE 2 #define JAKOBUSKIRCHE 3 #define KELTERNPLATZ 4 a [HOLZMARKT][JUDENGASSE] = 300; a [JUDENGASSE][HOLZMARKT] = 300; a [HOLZMARKT][NECKARBRUECKE] = 300; a [NECKARBRUECKE][HOLZMARKT] = 300; a [HOLZMARKT][JAKOBUSKIRCHE] = 350; a [JAKOBUSKIRCHE][HOLZMARKT] = 350; a [HOLZMARKT][KELTERNPLATZ] = 600; a [KELTERNPLATZ][HOLZMARKT] = 600; a [JUDENGASSE][NECKARBRUECKE] = 160; a [NECKARBRUECKE][JUDENGASSE] = 160; a [JUDENGASSE][JAKOBUSKIRCHE] = 160; a [JAKOBUSKIRCHE][JUDENGASSE] = 160; a [JUDENGASSE][KELTERNPLATZ] = 350; a [KELTERNPLATZ][JUDENGASSE] = 350; a [NECKARBRUECKE][JAKOBUSKIRCHE] = 800; a [JAKOBUSKIRCHE][NECKARBRUECKE] = 800; a [NECKARBRUECKE][KELTERNPLATZ] = 950; a [KELTERNPLATZ][NECKARBRUECKE] = 950; a [JAKOBUSKIRCHE][KELTERNPLATZ] = 220; a [KELTERNPLATZ][JAKOBUSKIRCHE] = 220; }
void init_adjazenzmatrix_city (int a [N][N]) { /* Holzmarkt, 0 * Judengasse, 1 * Neckarbruecke, 2 * Jakobuskirche, 3 * Kelternplatz, 4 */ /* * (Holzmarkt, Judengasse, 350m) (Holzmarkt, Neckarbruecke, 300m) (Holzmarkt, Jakobuskirche, 500m) (Holzmarkt, Kelternplatz, 600m) (Judengasse, Neckarbruecke, 160m) (Judengasse, Jakobuskirche, 160m) (Judengasse, Kelternplatz, 350m) (Neckarbruecke, Jakobuskirche, 800m) (Neckarbruecke, Kelternplatz, 950m) (Jakobuskirche, Kelternplatz, 220m) */ #define HOLZMARKT 0 #define JUDENGASSE 1 #define NECKARBRUECKE 2 #define JAKOBUSKIRCHE 3 #define KELTERNPLATZ 4 a [HOLZMARKT][HOLZMARKT] = 0; a [JUDENGASSE][JUDENGASSE] = 0; a [JAKOBUSKIRCHE][JAKOBUSKIRCHE] = 0; a [JUDENGASSE][JUDENGASSE] = 0; a [NECKARBRUECKE][NECKARBRUECKE] = 0; a [HOLZMARKT][JUDENGASSE] = 300; a [JUDENGASSE][HOLZMARKT] = 300; a [HOLZMARKT][NECKARBRUECKE] = 300; a [NECKARBRUECKE][HOLZMARKT] = 300; a [HOLZMARKT][JAKOBUSKIRCHE] = 350; a [JAKOBUSKIRCHE][HOLZMARKT] = 350; a [HOLZMARKT][KELTERNPLATZ] = 600; a [KELTERNPLATZ][HOLZMARKT] = 600; a [JUDENGASSE][NECKARBRUECKE] = 160; a [NECKARBRUECKE][JUDENGASSE] = 160; a [JUDENGASSE][JAKOBUSKIRCHE] = 160; a [JAKOBUSKIRCHE][JUDENGASSE] = 160; a [JUDENGASSE][KELTERNPLATZ] = 350; a [KELTERNPLATZ][JUDENGASSE] = 350; a [NECKARBRUECKE][JAKOBUSKIRCHE] = 800; a [JAKOBUSKIRCHE][NECKARBRUECKE] = 800; a [NECKARBRUECKE][KELTERNPLATZ] = 950; a [KELTERNPLATZ][NECKARBRUECKE] = 950; a [JAKOBUSKIRCHE][KELTERNPLATZ] = 220; a [KELTERNPLATZ][JAKOBUSKIRCHE] = 220; }
Jetzt ist das initialisiert
Und jetzt kommt das Rekursive
int globalsum = 0; void tue_city (int a [N][N], int i, int sum) { int j; if (i < N) { for (j = 0; j < N; j++) { if (is_on_stack ()) { sum = sum + a [i][j]; push (i); tue_city (a, j, sum); pop (); } } } else { if ((globalsum == 0) || (sum < globalsum)) globalsum = sum; return 0; } }
int globalsum = 0; void tue_city (int a [N][N], int i, int sum) { int j; if (i < N) { for (j = 0; j < N; j++) { if (is_on_stack ()) { sum = sum + a [i][j]; push (i); tue_city (a, j, sum); pop (); } } } else { if ((globalsum == 0) || (sum < globalsum)) globalsum = sum; return 0; } }
// ich habe das Problem jetzt so geloest int globalsum = 0; void tue_city (int a [N][N], int i, int sum) { int j; if (i < N) { for (j = 0; j < N; j++) { if (is_on_stack ()) { sum = sum + a [i][j]; push (i); tue_city (a, j, sum); pop (); } } } else { if ((globalsum == 0) || (sum < globalsum)) globalsum = sum; return 0; } }
push (int v) { stack_ptr--; stack [stack_ptr] = v; } int pop () { int v = stack [stack_ptr]; stack_ptr++; return stack_ptr; } int is_on_stack (int v) { for (i = 1024; i >= stack_ptr; i--) if (stack [i] == v) return 1; return 0; } void tue_city (int a [N][N], int i, int sum) { int j; push (i); if (i < N) { for (j = 0; j < N; j++) { if (!is_on_stack (j)) { sum = sum + a [i][j]; tue_city (a, j, sum); pop (); } } } else { if ((globalsum == 0) || (sum < globalsum)) globalsum = sum; return 0; } }
void tue_city (int a [N][N], int i, int sum) { int j; push (i); if (i < N) { for (j = 0; j < N; j++) { if (!is_on_stack (j)) { sum = sum + a [i][j]; tue_city (a, j, sum); pop (); } } } else { if ((globalsum == 0) || (sum < globalsum)) globalsum = sum; return 0; } }
int globalsum = 0; int stack [1024]; int stack_ptr = 1024; void push (int v) { stack_ptr--; stack [stack_ptr] = v; } int pop () { int v = stack [stack_ptr]; stack_ptr++; return v; } int is_on_stack (int v) { int i; for (i = 1023; i >= stack_ptr; i--) if (stack [i] == v) return 1; return 0; } char *tue_name [] = {"HOLZMARKT", "JUDENGASSE", "NECKARBRUECKE", "JAKOBUSKIRCHE", "KELTERNPLATZ"}; void print_stack () { int i; for (i = stack_ptr; i < 1024; i++) printf ("%s, ", tue_name[stack [i]]); printf ("n"); } void tue_city (int a [N][N], int i, int sum) { int j; push (i); if (i < N) { for (j = 0; j < N; j++) { if (!is_on_stack (j)) { sum = sum + a [i][j]; tue_city (a, j, sum); } } pop (); } else { if ((globalsum == 0) || (sum < globalsum)) { globalsum = sum; print_stack (); } } }
// oK - da war ein gravierender Fehler drin, so ist es wahrscheinlich besser void tue_city (int a [N][N], int i, int sum) { int j; push (i); for (j = 0; j < N; j++) { if (!is_on_stack (j)) { sum = sum + a [i][j]; tue_city (a, a [i][j], sum); } pop (); } if ((globalsum == 0) || (sum < globalsum)) { globalsum = sum; print_stack (); } }
Also, das war gravierend falsch
Nein, habe ich gerade falsch gesehen, war doch kein Fehler
void tue_city (int a [N][N], int i, int sum) { int j; push (i); for (j = 0; j < N; j++) { if (!is_on_stack (j)) { sum = sum + a [i][j]; tue_city (a, j, sum); } pop (); } if ((globalsum == 0) || (sum < globalsum)) { globalsum = sum; print_stack (); }
// so ist besser void tue_city (int a [N][N], int i, int sum) { int j; int flag = 0; push (i); for (j = 0; j < N; j++) { if (!is_on_stack (j)) { sum = sum + a [i][j]; tue_city (a, j, sum); } else flag = 1; } print_stack (); printf ("%in", sum); pop (); }
david@laptop-peaq:~\$ ./a.out KELTERNPLATZ, JAKOBUSKIRCHE, NECKARBRUECKE, JUDENGASSE, HOLZMARKT, 1480 JAKOBUSKIRCHE, NECKARBRUECKE, JUDENGASSE, HOLZMARKT, 1480 JAKOBUSKIRCHE, KELTERNPLATZ, NECKARBRUECKE, JUDENGASSE, HOLZMARKT, 2430 KELTERNPLATZ, NECKARBRUECKE, JUDENGASSE, HOLZMARKT, 2430 NECKARBRUECKE, JUDENGASSE, HOLZMARKT, 2210 KELTERNPLATZ, NECKARBRUECKE, JAKOBUSKIRCHE, JUDENGASSE, HOLZMARKT, 2370 NECKARBRUECKE, JAKOBUSKIRCHE, JUDENGASSE, HOLZMARKT, 2370 NECKARBRUECKE, KELTERNPLATZ, JAKOBUSKIRCHE, JUDENGASSE, HOLZMARKT, 2590 KELTERNPLATZ, JAKOBUSKIRCHE, JUDENGASSE, HOLZMARKT, 2590 JAKOBUSKIRCHE, JUDENGASSE, HOLZMARKT, 1640 JAKOBUSKIRCHE, NECKARBRUECKE, KELTERNPLATZ, JUDENGASSE, HOLZMARKT, 2720 NECKARBRUECKE, KELTERNPLATZ, JUDENGASSE, HOLZMARKT, 2720 NECKARBRUECKE, JAKOBUSKIRCHE, KELTERNPLATZ, JUDENGASSE, HOLZMARKT, 2940 JAKOBUSKIRCHE, KELTERNPLATZ, JUDENGASSE, HOLZMARKT, 2940 KELTERNPLATZ, JUDENGASSE, HOLZMARKT, 2140 JUDENGASSE, HOLZMARKT, 970 KELTERNPLATZ, JAKOBUSKIRCHE, JUDENGASSE, NECKARBRUECKE, HOLZMARKT, 1140 JAKOBUSKIRCHE, JUDENGASSE, NECKARBRUECKE, HOLZMARKT, 1140 JAKOBUSKIRCHE, KELTERNPLATZ, JUDENGASSE, NECKARBRUECKE, HOLZMARKT, 1490 KELTERNPLATZ, JUDENGASSE, NECKARBRUECKE, HOLZMARKT, 1490 JUDENGASSE, NECKARBRUECKE, HOLZMARKT, 1270 KELTERNPLATZ, JUDENGASSE, JAKOBUSKIRCHE, NECKARBRUECKE, HOLZMARKT, 2070 JUDENGASSE, JAKOBUSKIRCHE, NECKARBRUECKE, HOLZMARKT, 2070 JUDENGASSE, KELTERNPLATZ, JAKOBUSKIRCHE, NECKARBRUECKE, HOLZMARKT, 2290 KELTERNPLATZ, JAKOBUSKIRCHE, NECKARBRUECKE, HOLZMARKT, 2290 JAKOBUSKIRCHE, NECKARBRUECKE, HOLZMARKT, 1940 JAKOBUSKIRCHE, JUDENGASSE, KELTERNPLATZ, NECKARBRUECKE, HOLZMARKT, 3020 JUDENGASSE, KELTERNPLATZ, NECKARBRUECKE, HOLZMARKT, 3020 JUDENGASSE, JAKOBUSKIRCHE, KELTERNPLATZ, NECKARBRUECKE, HOLZMARKT, 3240 JAKOBUSKIRCHE, KELTERNPLATZ, NECKARBRUECKE, HOLZMARKT, 3240 KELTERNPLATZ, NECKARBRUECKE, HOLZMARKT, 3080 NECKARBRUECKE, HOLZMARKT, 2510 KELTERNPLATZ, NECKARBRUECKE, JUDENGASSE, JAKOBUSKIRCHE, HOLZMARKT, 2220 NECKARBRUECKE, JUDENGASSE, JAKOBUSKIRCHE, HOLZMARKT, 2220 NECKARBRUECKE, KELTERNPLATZ, JUDENGASSE, JAKOBUSKIRCHE, HOLZMARKT, 2570 KELTERNPLATZ, JUDENGASSE, JAKOBUSKIRCHE, HOLZMARKT, 2570 JUDENGASSE, JAKOBUSKIRCHE, HOLZMARKT, 1620 KELTERNPLATZ, JUDENGASSE, NECKARBRUECKE, JAKOBUSKIRCHE, HOLZMARKT, 2420 JUDENGASSE, NECKARBRUECKE, JAKOBUSKIRCHE, HOLZMARKT, 2420 JUDENGASSE, KELTERNPLATZ, NECKARBRUECKE, JAKOBUSKIRCHE, HOLZMARKT, 3370 KELTERNPLATZ, NECKARBRUECKE, JAKOBUSKIRCHE, HOLZMARKT, 3370 NECKARBRUECKE, JAKOBUSKIRCHE, HOLZMARKT, 3020 NECKARBRUECKE, JUDENGASSE, KELTERNPLATZ, JAKOBUSKIRCHE, HOLZMARKT, 2640 JUDENGASSE, KELTERNPLATZ, JAKOBUSKIRCHE, HOLZMARKT, 2640 JUDENGASSE, NECKARBRUECKE, KELTERNPLATZ, JAKOBUSKIRCHE, HOLZMARKT, 3590 NECKARBRUECKE, KELTERNPLATZ, JAKOBUSKIRCHE, HOLZMARKT, 3590 KELTERNPLATZ, JAKOBUSKIRCHE, HOLZMARKT, 3430 JAKOBUSKIRCHE, HOLZMARKT, 2130 JAKOBUSKIRCHE, NECKARBRUECKE, JUDENGASSE, KELTERNPLATZ, HOLZMARKT, 2860 NECKARBRUECKE, JUDENGASSE, KELTERNPLATZ, HOLZMARKT, 2860 NECKARBRUECKE, JAKOBUSKIRCHE, JUDENGASSE, KELTERNPLATZ, HOLZMARKT, 3020 JAKOBUSKIRCHE, JUDENGASSE, KELTERNPLATZ, HOLZMARKT, 3020 JUDENGASSE, KELTERNPLATZ, HOLZMARKT, 2220 JAKOBUSKIRCHE, JUDENGASSE, NECKARBRUECKE, KELTERNPLATZ, HOLZMARKT, 3170 JUDENGASSE, NECKARBRUECKE, KELTERNPLATZ, HOLZMARKT, 3170 JUDENGASSE, JAKOBUSKIRCHE, NECKARBRUECKE, KELTERNPLATZ, HOLZMARKT, 3970 JAKOBUSKIRCHE, NECKARBRUECKE, KELTERNPLATZ, HOLZMARKT, 3970 NECKARBRUECKE, KELTERNPLATZ, HOLZMARKT, 3810 NECKARBRUECKE, JUDENGASSE, JAKOBUSKIRCHE, KELTERNPLATZ, HOLZMARKT, 3390 JUDENGASSE, JAKOBUSKIRCHE, KELTERNPLATZ, HOLZMARKT, 3390 JUDENGASSE, NECKARBRUECKE, JAKOBUSKIRCHE, KELTERNPLATZ, HOLZMARKT, 4190 NECKARBRUECKE, JAKOBUSKIRCHE, KELTERNPLATZ, HOLZMARKT, 4190 JAKOBUSKIRCHE, KELTERNPLATZ, HOLZMARKT, 4030 KELTERNPLATZ, HOLZMARKT, 3070 HOLZMARKT, 1550 david@laptop-peaq:~\$
# so, da ist noch ein Fehler drin david@laptop-peaq:~\$ ./a.out KELTERNPLATZ, JAKOBUSKIRCHE, NECKARBRUECKE, JUDENGASSE, HOLZMARKT, 1480 JAKOBUSKIRCHE, KELTERNPLATZ, NECKARBRUECKE, JUDENGASSE, HOLZMARKT, 2430 KELTERNPLATZ, NECKARBRUECKE, JAKOBUSKIRCHE, JUDENGASSE, HOLZMARKT, 2370 NECKARBRUECKE, KELTERNPLATZ, JAKOBUSKIRCHE, JUDENGASSE, HOLZMARKT, 2590 JAKOBUSKIRCHE, NECKARBRUECKE, KELTERNPLATZ, JUDENGASSE, HOLZMARKT, 2720 NECKARBRUECKE, JAKOBUSKIRCHE, KELTERNPLATZ, JUDENGASSE, HOLZMARKT, 2940 KELTERNPLATZ, JAKOBUSKIRCHE, JUDENGASSE, NECKARBRUECKE, HOLZMARKT, 1140 JAKOBUSKIRCHE, KELTERNPLATZ, JUDENGASSE, NECKARBRUECKE, HOLZMARKT, 1490 KELTERNPLATZ, JUDENGASSE, JAKOBUSKIRCHE, NECKARBRUECKE, HOLZMARKT, 2070 JUDENGASSE, KELTERNPLATZ, JAKOBUSKIRCHE, NECKARBRUECKE, HOLZMARKT, 2290 JAKOBUSKIRCHE, JUDENGASSE, KELTERNPLATZ, NECKARBRUECKE, HOLZMARKT, 3020 JUDENGASSE, JAKOBUSKIRCHE, KELTERNPLATZ, NECKARBRUECKE, HOLZMARKT, 3240 KELTERNPLATZ, NECKARBRUECKE, JUDENGASSE, JAKOBUSKIRCHE, HOLZMARKT, 2220 NECKARBRUECKE, KELTERNPLATZ, JUDENGASSE, JAKOBUSKIRCHE, HOLZMARKT, 2570 KELTERNPLATZ, JUDENGASSE, NECKARBRUECKE, JAKOBUSKIRCHE, HOLZMARKT, 2420 JUDENGASSE, KELTERNPLATZ, NECKARBRUECKE, JAKOBUSKIRCHE, HOLZMARKT, 3370 NECKARBRUECKE, JUDENGASSE, KELTERNPLATZ, JAKOBUSKIRCHE, HOLZMARKT, 2640 JUDENGASSE, NECKARBRUECKE, KELTERNPLATZ, JAKOBUSKIRCHE, HOLZMARKT, 3590 JAKOBUSKIRCHE, NECKARBRUECKE, JUDENGASSE, KELTERNPLATZ, HOLZMARKT, 2860 NECKARBRUECKE, JAKOBUSKIRCHE, JUDENGASSE, KELTERNPLATZ, HOLZMARKT, 3020 JAKOBUSKIRCHE, JUDENGASSE, NECKARBRUECKE, KELTERNPLATZ, HOLZMARKT, 3170 JUDENGASSE, JAKOBUSKIRCHE, NECKARBRUECKE, KELTERNPLATZ, HOLZMARKT, 3970 NECKARBRUECKE, JUDENGASSE, JAKOBUSKIRCHE, KELTERNPLATZ, HOLZMARKT, 3390 JUDENGASSE, NECKARBRUECKE, JAKOBUSKIRCHE, KELTERNPLATZ, HOLZMARKT, 4190 david@laptop-peaq:~\$
Ich weiss, wo der Fehler ist, der Fehler liegt nicht in der Funktion selber, sondern es faengt immer mit Holzmarkt an - alle anderen Permutationen hat er gefunden, aber es faengt immer mit Holzmarkt an. Was im Stack hinten steht
Na, also, das hat er ausgegeben
KELTERNPLATZ, JAKOBUSKIRCHE, JUDENGASSE, HOLZMARKT, NECKARBRUECKE, 980
Das ist der Kuerzeste weg - nachweislich - Kelternplatz - Jakobuskirchen, Judengasse, Holzmarkt, Neckarbruecke
KELTERNPLATZ, JAKOBUSKIRCHE, NECKARBRUECKE, JUDENGASSE, HOLZMARKT, 1480 JAKOBUSKIRCHE, KELTERNPLATZ, NECKARBRUECKE, JUDENGASSE, HOLZMARKT, 2430 KELTERNPLATZ, NECKARBRUECKE, JAKOBUSKIRCHE, JUDENGASSE, HOLZMARKT, 2370 NECKARBRUECKE, KELTERNPLATZ, JAKOBUSKIRCHE, JUDENGASSE, HOLZMARKT, 2590 JAKOBUSKIRCHE, NECKARBRUECKE, KELTERNPLATZ, JUDENGASSE, HOLZMARKT, 2720 NECKARBRUECKE, JAKOBUSKIRCHE, KELTERNPLATZ, JUDENGASSE, HOLZMARKT, 2940 KELTERNPLATZ, JAKOBUSKIRCHE, JUDENGASSE, NECKARBRUECKE, HOLZMARKT, 1140 JAKOBUSKIRCHE, KELTERNPLATZ, JUDENGASSE, NECKARBRUECKE, HOLZMARKT, 1490 KELTERNPLATZ, JUDENGASSE, JAKOBUSKIRCHE, NECKARBRUECKE, HOLZMARKT, 2070 JUDENGASSE, KELTERNPLATZ, JAKOBUSKIRCHE, NECKARBRUECKE, HOLZMARKT, 2290 JAKOBUSKIRCHE, JUDENGASSE, KELTERNPLATZ, NECKARBRUECKE, HOLZMARKT, 3020 JUDENGASSE, JAKOBUSKIRCHE, KELTERNPLATZ, NECKARBRUECKE, HOLZMARKT, 3240 KELTERNPLATZ, NECKARBRUECKE, JUDENGASSE, JAKOBUSKIRCHE, HOLZMARKT, 2220 NECKARBRUECKE, KELTERNPLATZ, JUDENGASSE, JAKOBUSKIRCHE, HOLZMARKT, 2570 KELTERNPLATZ, JUDENGASSE, NECKARBRUECKE, JAKOBUSKIRCHE, HOLZMARKT, 2420 JUDENGASSE, KELTERNPLATZ, NECKARBRUECKE, JAKOBUSKIRCHE, HOLZMARKT, 3370 NECKARBRUECKE, JUDENGASSE, KELTERNPLATZ, JAKOBUSKIRCHE, HOLZMARKT, 2640 JUDENGASSE, NECKARBRUECKE, KELTERNPLATZ, JAKOBUSKIRCHE, HOLZMARKT, 3590 JAKOBUSKIRCHE, NECKARBRUECKE, JUDENGASSE, KELTERNPLATZ, HOLZMARKT, 2860 NECKARBRUECKE, JAKOBUSKIRCHE, JUDENGASSE, KELTERNPLATZ, HOLZMARKT, 3020 JAKOBUSKIRCHE, JUDENGASSE, NECKARBRUECKE, KELTERNPLATZ, HOLZMARKT, 3170 JUDENGASSE, JAKOBUSKIRCHE, NECKARBRUECKE, KELTERNPLATZ, HOLZMARKT, 3970 NECKARBRUECKE, JUDENGASSE, JAKOBUSKIRCHE, KELTERNPLATZ, HOLZMARKT, 3390 JUDENGASSE, NECKARBRUECKE, JAKOBUSKIRCHE, KELTERNPLATZ, HOLZMARKT, 4190 KELTERNPLATZ, JAKOBUSKIRCHE, NECKARBRUECKE, HOLZMARKT, JUDENGASSE, 1620 JAKOBUSKIRCHE, KELTERNPLATZ, NECKARBRUECKE, HOLZMARKT, JUDENGASSE, 2570 KELTERNPLATZ, NECKARBRUECKE, JAKOBUSKIRCHE, HOLZMARKT, JUDENGASSE, 2700 NECKARBRUECKE, KELTERNPLATZ, JAKOBUSKIRCHE, HOLZMARKT, JUDENGASSE, 2920 JAKOBUSKIRCHE, NECKARBRUECKE, KELTERNPLATZ, HOLZMARKT, JUDENGASSE, 3300 NECKARBRUECKE, JAKOBUSKIRCHE, KELTERNPLATZ, HOLZMARKT, JUDENGASSE, 3520 KELTERNPLATZ, JAKOBUSKIRCHE, HOLZMARKT, NECKARBRUECKE, JUDENGASSE, 1330 JAKOBUSKIRCHE, KELTERNPLATZ, HOLZMARKT, NECKARBRUECKE, JUDENGASSE, 1930 KELTERNPLATZ, HOLZMARKT, JAKOBUSKIRCHE, NECKARBRUECKE, JUDENGASSE, 2510 HOLZMARKT, KELTERNPLATZ, JAKOBUSKIRCHE, NECKARBRUECKE, JUDENGASSE, 2730 JAKOBUSKIRCHE, HOLZMARKT, KELTERNPLATZ, NECKARBRUECKE, JUDENGASSE, 3460 HOLZMARKT, JAKOBUSKIRCHE, KELTERNPLATZ, NECKARBRUECKE, JUDENGASSE, 3680 KELTERNPLATZ, NECKARBRUECKE, HOLZMARKT, JAKOBUSKIRCHE, JUDENGASSE, 2220 NECKARBRUECKE, KELTERNPLATZ, HOLZMARKT, JAKOBUSKIRCHE, JUDENGASSE, 2820 KELTERNPLATZ, HOLZMARKT, NECKARBRUECKE, JAKOBUSKIRCHE, JUDENGASSE, 2670 HOLZMARKT, KELTERNPLATZ, NECKARBRUECKE, JAKOBUSKIRCHE, JUDENGASSE, 3620 NECKARBRUECKE, HOLZMARKT, KELTERNPLATZ, JAKOBUSKIRCHE, JUDENGASSE, 2890 HOLZMARKT, NECKARBRUECKE, KELTERNPLATZ, JAKOBUSKIRCHE, JUDENGASSE, 3840 JAKOBUSKIRCHE, NECKARBRUECKE, HOLZMARKT, KELTERNPLATZ, JUDENGASSE, 2670 NECKARBRUECKE, JAKOBUSKIRCHE, HOLZMARKT, KELTERNPLATZ, JUDENGASSE, 3020 JAKOBUSKIRCHE, HOLZMARKT, NECKARBRUECKE, KELTERNPLATZ, JUDENGASSE, 3170 HOLZMARKT, JAKOBUSKIRCHE, NECKARBRUECKE, KELTERNPLATZ, JUDENGASSE, 3970 NECKARBRUECKE, HOLZMARKT, JAKOBUSKIRCHE, KELTERNPLATZ, JUDENGASSE, 3390 HOLZMARKT, NECKARBRUECKE, JAKOBUSKIRCHE, KELTERNPLATZ, JUDENGASSE, 4190 KELTERNPLATZ, JAKOBUSKIRCHE, JUDENGASSE, HOLZMARKT, NECKARBRUECKE, 980 JAKOBUSKIRCHE, KELTERNPLATZ, JUDENGASSE, HOLZMARKT, NECKARBRUECKE, 1330 KELTERNPLATZ, JUDENGASSE, JAKOBUSKIRCHE, HOLZMARKT, NECKARBRUECKE, 1460 JUDENGASSE, KELTERNPLATZ, JAKOBUSKIRCHE, HOLZMARKT, NECKARBRUECKE, 1680 JAKOBUSKIRCHE, JUDENGASSE, KELTERNPLATZ, HOLZMARKT, NECKARBRUECKE, 2060 JUDENGASSE, JAKOBUSKIRCHE, KELTERNPLATZ, HOLZMARKT, NECKARBRUECKE, 2280 KELTERNPLATZ, JAKOBUSKIRCHE, HOLZMARKT, JUDENGASSE, NECKARBRUECKE, 1330 JAKOBUSKIRCHE, KELTERNPLATZ, HOLZMARKT, JUDENGASSE, NECKARBRUECKE, 1930 KELTERNPLATZ, HOLZMARKT, JAKOBUSKIRCHE, JUDENGASSE, NECKARBRUECKE, 1870 HOLZMARKT, KELTERNPLATZ, JAKOBUSKIRCHE, JUDENGASSE, NECKARBRUECKE, 2090 JAKOBUSKIRCHE, HOLZMARKT, KELTERNPLATZ, JUDENGASSE, NECKARBRUECKE, 2220 HOLZMARKT, JAKOBUSKIRCHE, KELTERNPLATZ, JUDENGASSE, NECKARBRUECKE, 2440 KELTERNPLATZ, JUDENGASSE, HOLZMARKT, JAKOBUSKIRCHE, NECKARBRUECKE, 2260 JUDENGASSE, KELTERNPLATZ, HOLZMARKT, JAKOBUSKIRCHE, NECKARBRUECKE, 2860 KELTERNPLATZ, HOLZMARKT, JUDENGASSE, JAKOBUSKIRCHE, NECKARBRUECKE, 2670 HOLZMARKT, KELTERNPLATZ, JUDENGASSE, JAKOBUSKIRCHE, NECKARBRUECKE, 3020 JUDENGASSE, HOLZMARKT, KELTERNPLATZ, JAKOBUSKIRCHE, NECKARBRUECKE, 2890 HOLZMARKT, JUDENGASSE, KELTERNPLATZ, JAKOBUSKIRCHE, NECKARBRUECKE, 3240 JAKOBUSKIRCHE, JUDENGASSE, HOLZMARKT, KELTERNPLATZ, NECKARBRUECKE, 3270 JUDENGASSE, JAKOBUSKIRCHE, HOLZMARKT, KELTERNPLATZ, NECKARBRUECKE, 3620 JAKOBUSKIRCHE, HOLZMARKT, JUDENGASSE, KELTERNPLATZ, NECKARBRUECKE, 3810 HOLZMARKT, JAKOBUSKIRCHE, JUDENGASSE, KELTERNPLATZ, NECKARBRUECKE, 3970 JUDENGASSE, HOLZMARKT, JAKOBUSKIRCHE, KELTERNPLATZ, NECKARBRUECKE, 4030 HOLZMARKT, JUDENGASSE, JAKOBUSKIRCHE, KELTERNPLATZ, NECKARBRUECKE, 4190 KELTERNPLATZ, NECKARBRUECKE, JUDENGASSE, HOLZMARKT, JAKOBUSKIRCHE, 1760 NECKARBRUECKE, KELTERNPLATZ, JUDENGASSE, HOLZMARKT, JAKOBUSKIRCHE, 2110 KELTERNPLATZ, JUDENGASSE, NECKARBRUECKE, HOLZMARKT, JAKOBUSKIRCHE, 1460 JUDENGASSE, KELTERNPLATZ, NECKARBRUECKE, HOLZMARKT, JAKOBUSKIRCHE, 2410 NECKARBRUECKE, JUDENGASSE, KELTERNPLATZ, HOLZMARKT, JAKOBUSKIRCHE, 2060 JUDENGASSE, NECKARBRUECKE, KELTERNPLATZ, HOLZMARKT, JAKOBUSKIRCHE, 3010 KELTERNPLATZ, NECKARBRUECKE, HOLZMARKT, JUDENGASSE, JAKOBUSKIRCHE, 2060 NECKARBRUECKE, KELTERNPLATZ, HOLZMARKT, JUDENGASSE, JAKOBUSKIRCHE, 2660 KELTERNPLATZ, HOLZMARKT, NECKARBRUECKE, JUDENGASSE, JAKOBUSKIRCHE, 1870 HOLZMARKT, KELTERNPLATZ, NECKARBRUECKE, JUDENGASSE, JAKOBUSKIRCHE, 2820 NECKARBRUECKE, HOLZMARKT, KELTERNPLATZ, JUDENGASSE, JAKOBUSKIRCHE, 2220 HOLZMARKT, NECKARBRUECKE, KELTERNPLATZ, JUDENGASSE, JAKOBUSKIRCHE, 3170 KELTERNPLATZ, JUDENGASSE, HOLZMARKT, NECKARBRUECKE, JAKOBUSKIRCHE, 2260 JUDENGASSE, KELTERNPLATZ, HOLZMARKT, NECKARBRUECKE, JAKOBUSKIRCHE, 2860 KELTERNPLATZ, HOLZMARKT, JUDENGASSE, NECKARBRUECKE, JAKOBUSKIRCHE, 2670 HOLZMARKT, KELTERNPLATZ, JUDENGASSE, NECKARBRUECKE, JAKOBUSKIRCHE, 3020 JUDENGASSE, HOLZMARKT, KELTERNPLATZ, NECKARBRUECKE, JAKOBUSKIRCHE, 3620 HOLZMARKT, JUDENGASSE, KELTERNPLATZ, NECKARBRUECKE, JAKOBUSKIRCHE, 3970 NECKARBRUECKE, JUDENGASSE, HOLZMARKT, KELTERNPLATZ, JAKOBUSKIRCHE, 2590 JUDENGASSE, NECKARBRUECKE, HOLZMARKT, KELTERNPLATZ, JAKOBUSKIRCHE, 2890 NECKARBRUECKE, HOLZMARKT, JUDENGASSE, KELTERNPLATZ, JAKOBUSKIRCHE, 3080 HOLZMARKT, NECKARBRUECKE, JUDENGASSE, KELTERNPLATZ, JAKOBUSKIRCHE, 3240 JUDENGASSE, HOLZMARKT, NECKARBRUECKE, KELTERNPLATZ, JAKOBUSKIRCHE, 4030 HOLZMARKT, JUDENGASSE, NECKARBRUECKE, KELTERNPLATZ, JAKOBUSKIRCHE, 4190 JAKOBUSKIRCHE, NECKARBRUECKE, JUDENGASSE, HOLZMARKT, KELTERNPLATZ, 1860 NECKARBRUECKE, JAKOBUSKIRCHE, JUDENGASSE, HOLZMARKT, KELTERNPLATZ, 2020 JAKOBUSKIRCHE, JUDENGASSE, NECKARBRUECKE, HOLZMARKT, KELTERNPLATZ, 1520 JUDENGASSE, JAKOBUSKIRCHE, NECKARBRUECKE, HOLZMARKT, KELTERNPLATZ, 2320 NECKARBRUECKE, JUDENGASSE, JAKOBUSKIRCHE, HOLZMARKT, KELTERNPLATZ, 1870 JUDENGASSE, NECKARBRUECKE, JAKOBUSKIRCHE, HOLZMARKT, KELTERNPLATZ, 2670 JAKOBUSKIRCHE, NECKARBRUECKE, HOLZMARKT, JUDENGASSE, KELTERNPLATZ, 2350 NECKARBRUECKE, JAKOBUSKIRCHE, HOLZMARKT, JUDENGASSE, KELTERNPLATZ, 2700 JAKOBUSKIRCHE, HOLZMARKT, NECKARBRUECKE, JUDENGASSE, KELTERNPLATZ, 2060 HOLZMARKT, JAKOBUSKIRCHE, NECKARBRUECKE, JUDENGASSE, KELTERNPLATZ, 2860 NECKARBRUECKE, HOLZMARKT, JAKOBUSKIRCHE, JUDENGASSE, KELTERNPLATZ, 2220 HOLZMARKT, NECKARBRUECKE, JAKOBUSKIRCHE, JUDENGASSE, KELTERNPLATZ, 3020 JAKOBUSKIRCHE, JUDENGASSE, HOLZMARKT, NECKARBRUECKE, KELTERNPLATZ, 2660 JUDENGASSE, JAKOBUSKIRCHE, HOLZMARKT, NECKARBRUECKE, KELTERNPLATZ, 3010 JAKOBUSKIRCHE, HOLZMARKT, JUDENGASSE, NECKARBRUECKE, KELTERNPLATZ, 3010 HOLZMARKT, JAKOBUSKIRCHE, JUDENGASSE, NECKARBRUECKE, KELTERNPLATZ, 3170 JUDENGASSE, HOLZMARKT, JAKOBUSKIRCHE, NECKARBRUECKE, KELTERNPLATZ, 3810 HOLZMARKT, JUDENGASSE, JAKOBUSKIRCHE, NECKARBRUECKE, KELTERNPLATZ, 3970 NECKARBRUECKE, JUDENGASSE, HOLZMARKT, JAKOBUSKIRCHE, KELTERNPLATZ, 2930 JUDENGASSE, NECKARBRUECKE, HOLZMARKT, JAKOBUSKIRCHE, KELTERNPLATZ, 3230 NECKARBRUECKE, HOLZMARKT, JUDENGASSE, JAKOBUSKIRCHE, KELTERNPLATZ, 3230 HOLZMARKT, NECKARBRUECKE, JUDENGASSE, JAKOBUSKIRCHE, KELTERNPLATZ, 3390 JUDENGASSE, HOLZMARKT, NECKARBRUECKE, JAKOBUSKIRCHE, KELTERNPLATZ, 4030 HOLZMARKT, JUDENGASSE, NECKARBRUECKE, JAKOBUSKIRCHE, KELTERNPLATZ, 4190
Ist ein rechenfehler