Data je mapa grada koji se sastoji od M dvosvernih ulica na pravcu istok-zapad i N dvosmernih ulica na pravcu sever-jug (M, N <= 50). Svake dve ulice grada na mapi su ili paralelne ili se seku po tačno jednoj raskrsnici gde su nadmorske visine raskrsnica različite i unose se u matrici H(i, j) - štp predstavlja nadmorsku visinu raskrsnice u kojoj se seku i-ta ulica pravca istok-zapad i j-ta ulica pravca sever-jug. Deo bili koje ulice između svake dve susedne raskrsnice je duž. Za date dve raskrsnice A i B zadane koordinatama položaja ispitati da li postoji put ulicama tog grada kojim sse stiže iz A u B kretanjem nizbrdo (kretanjem od raskrsnice sa VEĆOM visinom ka susednoj raskrsnici sa MANJOM visinom).
Ukoliko postoji traženi put ispisati koordinate raskrsnica koje se prolaze uz zahtev da je broj tranzitnih raskrsnica što je moguće manji.
Ja sam rešenje tog zadatka osmislio ovako: matricu H ispuniti nekim velikim brojem koji ne može biti nadmorska visina (npr. MAXINT / 2). Zatim učitati nadmorske visine u matricu H i učitati početne i krajnje koordinate. Problem bi rešio backtrackingom i rekurzijom: iz krajnje tačke polazim u svako susedno polje koje sadrži manju vrednost, pa onda iz svakog susednog polja u svako susedno polje koje sadrži manju vrednost sve dok se ne dodje do krajnjeg. Ukoliko se ne može stići do krajnjeg polja neka vrednost koju bi funkcija vratila, a pokazivala bi broj koraka vratila bi -1, a ukoliko postoji putanja nizbrdo ta vrednost bi vratila broj koraka do zadatog polja i niz koordinata tranzitnih raskrsnica. Na kraju izabrao bih onu vrednost koja je najmanja i to bi bilo konačno rešenje.
Verujem da ovakav pristup ima mane i greške, pa vas pitam, postoji li jednostavnije rešenje tog problema ili da radim ovo.