Ich möchte eine rekursive Methode implementieren, die mittels Backtracking die Anzahl der möglichen Reiserouten bestimmt und zurückgibt, deren jeweilige Schönheitssumme genau goal ist.
Die Anzahl der möglichen Routen ist 2, aber ich gebe anscheinend mehr als 2 zurück.
Wie kann man also die Städte der jeweils aktuellen Reiseroute in int [] path erfassen und die richtige Anzahl der Reiserouten zurückgeben?
Die Anzahl der möglichen Routen ist 2, aber ich gebe anscheinend mehr als 2 zurück.
Wie kann man also die Städte der jeweils aktuellen Reiseroute in int [] path erfassen und die richtige Anzahl der Reiserouten zurückgeben?
Java:
public static int solve(int values [], int [][] next, int goal, int city,
int [] path, int pathIdx, TravelCheck tc)
{
tc.check(); // automatic check
tc.report(path);
int [][] newCity = new int[next.length][next[0].length];
for(int i = 0; i < next.length;i++){
for(int j = 0;j < next[i].length;j++){
if((next[i][j]) < -1){
//newCity[i][j] = next[i][j];
newCity[i][j] = 2;
}
}
}
int d = values[3];
int b = values[0];
int e = 3;
int c = 6;
int a;
int f;
if(city == 0){
for (int i = 0; i < values.length; i++) {
a = b * c;
i++;
return a;
}
} else if (city == 0 || city == 3) {
for(int i = 0; i < values.length; i++) {
f = b + (d * e);
return f;
}
}
int res = solve(values,next,goal,city,path,pathIdx,tc);
return res;
}