ITI0140:Ülesanne 15

Allikas: Kursused
Redaktsioon seisuga 25. november 2015, kell 16:38 kasutajalt Triin (arutelu | kaastöö) (→‎Miinikits Miina tagasitulek)
Mine navigeerimisribale Mine otsikasti

Miinikits Miina tagasitulek

Teie ustav kits Miina on läinud kaduma. Kuulete häälte järgi, et ta on kadunud maa-alusesse labürinti. Kuna Miina aitas teid enne miini leidmisega, on aeg teil teda aidata. Peate koostama networkx-i graafi ala ASCII pildist ja leidma networkx-i abil lühima tee läbi selle graafi.

ASCII pildist tuleb graaf koostada nii, et iga ristumine on tipp, sisseppäs on lähtetipp ja väljappäs on lõpptipp. Tippude nimed on kodeeritud vastavate koordinaatidega.

     0    1    2
A [[' ', ' ', ' '],
B  ['X', 'X', ' '],
C  ['X', 'X', ' ']]

Peate realiseerima kaks funktsiooni:

def create_graph(labyrinth):

Create_graph peaks tegema antud ascii laburündist reeglite kohase networkx graafi. 
(Reegleid soovitan vaadata loengu slaididelt, tegemist on kaalutud graafiga.)

def find_shortest_path(graph):

See funktsioon peaks võtma sisse networkx-i graafi, ja tagastama tee sissepäästust kõige all paremapoolsele väljapääsule. 

Ehk eelmise näite järgi, peaks tagastama ["A0", "A2", "C2"]. On garanteeritud, et koridorid on maksimaalselt ühe ühiku laiused, ja et find_shortest_path-i testites antakse ette alati leitav tee.