gitweb on Svarog
projekti pod git sistemom za održavanje verzija -- projects under the git version control system
summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 2ae1a0b)
raw | patch | inline | side by side (parent: 2ae1a0b)
author | Doni Pracner <quinnuendo@gmail.com> | |
Sun, 4 Dec 2016 18:57:20 +0000 (19:57 +0100) | ||
committer | Doni Pracner <quinnuendo@gmail.com> | |
Sun, 4 Dec 2016 18:57:20 +0000 (19:57 +0100) |
PretrazivanjeSaVracanjem/Lavirint/NajboljiPut/zadatak-najbolji-put.txt | patch | blob | history |
diff --git a/PretrazivanjeSaVracanjem/Lavirint/NajboljiPut/zadatak-najbolji-put.txt b/PretrazivanjeSaVracanjem/Lavirint/NajboljiPut/zadatak-najbolji-put.txt
index 8c1d6a5df82871542a53d60b910b238009559ba3..ba5a83f1109705f4f9adc62e6f6f6640d0faccad 100644 (file)
Postavka problema\r
============================================================\r
\r
-Neka je dat lavirint kao matrica polja, pri cemu razlicite \r
-vrednosti polja imaju razlicito znacenje. Potrebno je pronaci\r
-OPTIMALAN put kroz lavirint od pocetnog polja, do izlaza iz \r
-lavirinta, pri cemu se pod putem smatra niz polja koja je \r
-potrebno posetiti u datom redosledu, da bi se stiglo od \r
-pocetnog polja do cilja. Pri obilasku lavirinta, sa jednog \r
-polja je moguce preci na susedno ako ona imaju istu ivicu, \r
-tj. ako se ono nalazi odmah levo, desno, gore ili dole u \r
-odnosu na trenutno polje.\r
+Neka je dat lavirint kao matrica polja, pri cemu razlicite\r
+vrednosti polja imaju razlicito znacenje. Potrebno je\r
+pronaci OPTIMALAN put kroz lavirint od pocetnog polja, do\r
+izlaza iz lavirinta, pri cemu se pod putem smatra niz polja\r
+koja je potrebno posetiti u datom redosledu, da bi se stiglo\r
+od pocetnog polja do cilja. Pri obilasku lavirinta, sa\r
+jednog polja je moguce preci na susedno ako ona imaju istu\r
+ivicu, tj. ako se ono nalazi odmah levo, desno, gore ili\r
+dole u odnosu na trenutno polje.\r
\r
Znacenja vrednosti polja su;\r
0 = slobodno polje u lavirintu na koje je dozvoljeno stati\r
============================================================\r
\r
Napisati klasu LavirintProgram koja ucitava ime fajla u kojem\r
-se nalazi definisan lavirint, koordinate pocetne pozicije \r
-(x, y) od koje se trazi izlaz iz lavirinta, kao i izbor sta \r
-zelimo da radimo. Nakon ucitanog izbora, klasa treba da ucita\r
-lavirint iz datog fajla, ispise ga na ekran i izvrsi izabranu\r
-operaciju. \r
+se nalazi definisan lavirint, i koordinate pocetne pozicije \r
+(x, y) od koje se trazi izlaz iz lavirinta.\r
\r
-Ponuditi korisniku sledeci izbor:\r
-3 - ispis najkraceg puta od unetog polja do izlaza\r
-4 - ispis najvrednijeg puta od unetog polja do izlaza\r
+Nakon toga naci najkraci put do izlaza u lavirintu\r
+(vrednosti ovde nisu bitne) i ispisati ga na ekran.\r
\r
+Prosiriti nakon toga program tako da nalazi najvredniji\r
+put u lavirintu - odnosno put kojim ce se pokupiti najvise\r
+zlatnika, ali put ne sme da sadrzi isto polje dva puta.\r
+Ispisati i ovaj put na ekran.\r
\r
-Modifikacija pretrazivanja sa vracanjem\r
+\r
+Pretrazivanje sa vracanjem\r
------------------------------------------------------------\r
\r
-Jedan od nacina da se uradi zadatak je koriscenjem modifikacije\r
-pretrazivanja sa vracanjem. Potrebne modifikacije su sledece:\r
+Jedan od nacina da se uradi zadatak je koriscenjem\r
+pretrazivanja sa vracanjem. Prethodno je radjen primer u\r
+kome se proverava da li put uopste postoji. Ovde je bitno\r
+naci sve puteve sto je dosta slicno u postavci, samo sto\r
+treba i dalje traziti druge mogucnosti nakon sto se nadje\r
+prvo resenje.\r
+\r
+Neke od modifikacija u odnosu na samo nalazenje jednog puta:\r
\r
1. Nakon dolaska na odredjeno polje u lavirintu potrebno je\r
-to polje ubaciti na kraj trenutnog puta od pocetka lavirinta \r
+to polje ubaciti na kraj trenutnog puta od pocetka lavirinta\r
do trenutnog polja\r
-2. Nakon povratka sa polja, potrebno je to polje izabaciti sa \r
-kraja trenutnog puta\r
-3. Prilikom obilaska izlaza, potrebno je trenutnu vrednost \r
-puta uporediti sa do sada najoptimalnijim pronadjenim putem\r
-i ukoliko je trenutni put bolji, kopirati ga u optimalan put\r
-4. Vratiti optimalan put ako postoji ili vrednost null ako ne \r
-postoji\r
+\r
+2. Nakon povratka sa polja, potrebno je to polje izabaciti\r
+sa kraja trenutnog puta\r
+\r
+3. Kad se nadje izlaz, potrebno je trenutnu vrednost puta\r
+uporediti sa do sada najoptimalnijim pronadjenim putem i\r
+ukoliko je trenutni put bolji, kopirati ga u optimalan put\r
+\r
+4. Na kraju svih pretraga, vratiti optimalan put ako postoji\r
+ili vrednost null ako ne postoji\r
\r
\r
Neobavezne preporuke:\r