• Nie Znaleziono Wyników

Zadanie 03: Tezeusz

N/A
N/A
Protected

Academic year: 2021

Share "Zadanie 03: Tezeusz"

Copied!
2
0
0

Pełen tekst

(1)

Zadanie 03: Tezeusz

Algorytmy Matematyki Dyskretnej

Tezeusz pokonał Minotaura i chce wyjść z Labiryntu. Niestety na skutek nieszczęśliwego wypadku, nić Ariadny zerwała się i bohater nie może tak łatwo wydostać się na wolność.

Starożytni Grecy uwielbiali wielokąty foremne, więc cały labirynt składa się z kwadratowych płytek.

Jeśli pomiędzy dwoma płytkami istnieje przejście, to można przejść tamtędy w obie strony.

Dzięki kreteńskiemu archiwum masz informacje o budowie labiryntu. Udało Ci się uzyskać informacje, pomiędzy którymi płytkami istnieje możliwość przejścia. Dodatkowo znaleziono zapiski, które zawierają informacje o płytkach, z których można opuścić labirynt.

Twoim zadaniem jest napisać metodę, która powie Tezeuszowi jak opuścić Labirynt:

list<int> EscapeLabyrinth(Labyrinth labyrinth);

// gdzie klasa Labyrinth udostępnia metody:

// getWidth(), getHeight() - wymiary labiryntu,

// getTheseus() - numer płytki na której znajduje się Tezeusz,

// getPassages() - lista par, która zawiera numery par płytek pomiędzy którymi istnieje przejście, // getEscapes() - lista numerów płytek z których można opuścić labirynt.

// returns:

// Metoda powinna zwrócić kolejne numery płytek, które powinien odwiedzić Tezeusz, żeby opuścić Labirynt (lista powinna zaczynać się od płytki na której znajduje się Tezeusz, a kończyć na płytce z której można opuścić Labirynt. Jeśli Tezeusz może od razu opuścić Labirynt należy podać tylko numer tej płytki). Pomiędzy każdymi dwoma kolejnymi płytkami na liście musi istnieć przejście. Jeśli nie istnieje droga wyjścia z Labiryntu należy zwrócić pustą listę.

PRZYKŁAD:

0 1 2 3 4 5 6 7 8 9 10 11 T 13 14 15 16 17 18 19 20 21 22 23 24

W powyższym labiryncie Tezeusz znajduje się na płytce oznaczonej numerem 12 (litera ​T​). Pogrubione ściany na powyższym schemacie oznaczają brak przejścia pomiędzy płytkami. Przykładowo, możliwe jest przejście z płytki 6 → 11 i z 11 → 6.

Rozwiązanie: 12, 7, 8, 3 (istnieje też inne rozwiązanie, ale docelowo szukamy najkrótszej drogi).

UWAGI:

1. Labirynt nie musi być kwadratowy (może być prostokątny).

2. W zadaniu została dostarczona metoda ​PrintLabyrinth​, która na konsoli wypisuje budowę labiryntu.

Może być przydatna do debugowania lub na etapie opracowania rozwiązania.

PUNKTACJA:

3p. Metoda poprawnie zwraca drogę wyjście z labiryntu

0.5p. Metoda poprawnie zwraca informację o braku wyjścia z labiryntu.

1p. Metoda zwraca najkrótszą drogę (pod względem ilości pokonanych płytek) z labiryntu.

0.5p. Metoda rozwiązuje nie tylko kwadratowe labirynty.

+?p. Dodatkowe punkty za rozwiązania częściowe (do decyzji prowadzącego).

(2)

PRZESŁANIE ZADANIA:

Na koniec laboratorium należy przesłać rozwiązanie na adres ​krzeszewskip@student.mini.pw.edu.pl​. Rozwiązanie należy spakować do archiwum o nazwie zgodnej z uczelnianym loginem. Temat maila: ​[AMD]

Zadanie 03​.

Cytaty

Powiązane dokumenty

Można powiedzieć, że wtedy byliśmy bardziej wolni, jak obecnie, bo ja się spotykam z prasą teraźniejszą, [która] mówi, [że] tego nie wydrukują, bo to jest niepoprawne

Nieopisana historia - Rzeczpospolita Pszczelarska ; PRL ; współczesność ; pszczoły ; praca w pasiece ; praca pszczelarza ; życie pszczół ; matki pszczele ; rojenie się pszczół

W końcu, na podstawie wiedzy przedstawionej we wcześniejszych pracach teoretycznych i palety wyobrażeń o przestrzeni, a także zbadanych już empirycznie form

Postaci labiryntu: Dedal, Minotaur, ateński trybut, Tezeusz,

Przedstawiamy szerszy kontekst dotyczący dzieła, autora, jego relację do innych podobnych dzieł, albo do pierwowzoru (jeśli

Ale ten obraz (kawalerzyści Kossaka) także mi się podoba.. Tam także mu

1 p.b., decyzja o pozwoleniu na budowę wygasa, jeżeli budowa nie została rozpoczęta przed upływem 3 lat od dnia, w którym decyzja ta stała się.. ostateczna lub budowa

Podaj połoŜenie obrazu diody utworzonego przez ten układ soczewek oraz jego wysokość.. Rozwiązanie co najmniej jednego zadania (rękopis) naleŜy nadsyłać do dnia 15