27 maja 2009

Labirynt

Zadanie brzmiało:

Zaprogramuj klasę generującą i rysującą labirynt o rozmiarze zadanym podczas tworzenia obiektu. Przyjmij że w labiryncie są tylko dwa wejścia oraz że istnieje droga łącząca te dwa wejścia.

Zadanie rozwiązałem po najmniejszej linii oporu. Labirynty generowane przez mój algorytm wyglądały mniej więcej tak:Prowadzący chciał mnie za to poćwiartkować.. Ale przyznał, że mój algorytm spełnia specyfikację zadania (jest to labirynt z dwoma wejściami taki, że istnieje ścieżka między nimi) i skończyło się na zaliczeniu programu na maksymalną ilość punktów.

Jako feature dodałem wysoce specjalistyczny algorytm sztucznej inteligencji znajdujący rozwiązania tego typu labiryntów 8)

6 komentarzy:

Anonimowy pisze...

Brawo :)

lmmilewski pisze...

Nie wiem u kogo to oddawałeś. Pamiętam, że PRZ z trudem przyjmował takie rozwiązania jak chodziłem na Obiekty - rozumiem, że chodzi o SmallTalk ;-)

iks pisze...

Nad kim się tak znęcałeś? Spełnia specyfikacje? Spełnia ;)

npb pisze...

Pracownie mam z MML :-) Tak - to było zadanie ze SmallTalka. Mój pierwszy program jaki w tym języku napisałem :-) Mógłbym wrzucić kod, tylko nie wiem po co. Coś mi się wydaje że po tym programie zmieni się treść tego zadania :)

stdin pisze...

O algorytmach generowania labiryntu można poczytać na Wikipedii. Ja skorzystałem z metody rekurencyjnych podziałów, i PRZ też się krzywił :]

cepe pisze...

Po prostu generujesz labirynty dla blondynek. :)