Witam, na zajęcia mam przygotować program w języku PASCAL o następującej treśći:
Na podstawie podanej przez użytkownika planszy zawierającej pola o określonych
kosztach program powinien znaleźć ścieżkę pozwalającą na przejście całej planszy (od ustalonego „wejścia” do „wyjścia”) w taki sposób, aby łączny koszt mijanych pól był jak najniższy.
Po rozmowie z prowadzącym zajęcia dostałem konkretne wytyczne:
-program działa dla tablicy 2D o ustalonym i niezmiennym rozmiarze 5x5
-Ustalone wejście to lewy górny róg tablicy (indeksy [0][0]) a wyjście to prawy dolny róg (indeksy [4][4])
-użytkownik przy starcie programu podaje osobno dla każdego pola tej tablicy jakąś wartość liczbową (np. zakres wyboru to 0-9)
-w tablicy nie ma żadnych ścian, przeszkód
-poruszamy się kierunkami: DÓŁ, GÓRA, LEWO, PRAWO
Proszę Was o pomoc w algorytmie. Prowadzącym zasugerował, aby nie korzystać z Dijkstry. Ja znalazłem coś takiego:
http://warsztat.gd/wiki/Algorytm+wyszukiwania+najkr%C3%B3tszej+drogi+w+%C5%9Bwiecie+2D
Próbowałem zrobić ten algorytm w języku PASCAL, ale coś nie za bardzo mi wychodzi. Może znacie lepsze rozwiązanie tego problemu? Czy ten algorytm podany w linku wyżej mógłby być dobry dla tego zadania?
Z góry dziękuję za odpowiedzi. Pozdrawiam