Witam. Dostałem trudne zadanie programistyczne (algorytmy).
Jest ktoś może na tyle łebski żeby to ogarnąć?
Poniżej Przedstawiam treść:
Pewien poszukiwacz skarbów odkrył mapę ze wskazówkami do odnalezienia skarbu. Jednak mapa była bardzo specyficzna, zawierała długa listę par liczb.
przy czym pierwsza liczba w parze była z zakresu <0,3> natomiast druga <1,100>. Po kilku tygodniach poszukiwania wskazówek do odczytania mapy, poszukiwaczowi udało się odszyfrować,
znaczenie listy par liczb wypisanych na mapie. Okazało się że pierwszą liczbą w wierszu jest kierunek świata a drugą, liczba kroków do przebycia we wskazanym kierunku.
0 -> północ
1 -> południe
2 -> zachód
3 -> wschód
Na mapie był również zaznaczony punk, który wskazywał na duży głaz umieszczony po środku dużego pustkowia. Poszukiwacz doszedł do wniosku, iż skarbu musi szukać zgodnie ze wskazówkami
przedstawionymi na liście par liczb, rozpoczynając swoją wędrówkę od głazu na pustkowiu. Niestety pojawił się spory problem ponieważ ilość wskazówek na mapie mogła sięgać nawet kilku tysięcy ¯_(ツ)_/¯.
Poszukiwać, aby nie krążyć bez ładu i składu po pustkowiu, postanowił poprosić cię o pomoc aby wytyczyć jak najkrótszą drogę do skarbu na podstawie wskazówek z mapy.
Poprosił cię o napisanie programu który rozwiąże mu ten problem ヽ(•‿•)ノ.
Zadanie polega na napisaniu funkcji która zwróci najkrótszą drogę do skarbu, od wskazanego głazu, w postaci takiej jak wskazówki na mapie.
Funkcja jako argumenty otrzymuje tablicę wektorów dwuelementowych, a na wyjściu zwraca mapę w tej samej strukturze z najkrótszą drogą do skarbu, w przypadku gdyby skarb znajdował się pod głazem,
funkcja ma wypisać na ekranie słowo "GŁAZ".
Przykład:
$mapa = [[0,5],[3,24],[1,13],[3,45],[1,34],[2,5]...];
function poszukiwacz(array $mapa): ?array{
....
return $fastMap;
}