Hm.. pseudoCode:
Code:
laufeWeg(int startX, int startY) {
if startX != zielX {
laufeWeg(startX+1);
}
if startY != zielY {
laufeWeg(startY+1);
}
if startX == zielX && startY == zielY {
anzahlWege++;
}
}
Das ganze startest du dann mit dem Punkt unten rechts (0,0). Das läuft dann jeden Knoten durch und geht nacheinander alle Möglichkeiten ab. Jedes mal wenn er am Ziel ankommt (und damit den aktuellen Durchlauf beendet) zählt er einen neugefunden Weg dazu.
Da du nur die Koordinaten hochzählst erhälst du automatisch alle kürzesten Wege.