From 162ede0a4892d272730d7e5ec48f68b4f15c4a28 Mon Sep 17 00:00:00 2001 From: Doni Pracner Date: Sun, 4 Dec 2016 19:57:20 +0100 Subject: [PATCH] Lavirint, najbolji put, doterivanje teksta zadatka --- .../NajboljiPut/zadatak-najbolji-put.txt | 66 +++++++++++-------- 1 file changed, 38 insertions(+), 28 deletions(-) diff --git a/PretrazivanjeSaVracanjem/Lavirint/NajboljiPut/zadatak-najbolji-put.txt b/PretrazivanjeSaVracanjem/Lavirint/NajboljiPut/zadatak-najbolji-put.txt index 8c1d6a5..ba5a83f 100644 --- a/PretrazivanjeSaVracanjem/Lavirint/NajboljiPut/zadatak-najbolji-put.txt +++ b/PretrazivanjeSaVracanjem/Lavirint/NajboljiPut/zadatak-najbolji-put.txt @@ -6,15 +6,15 @@ Postavka problema ============================================================ -Neka je dat lavirint kao matrica polja, pri cemu razlicite -vrednosti polja imaju razlicito znacenje. Potrebno je pronaci -OPTIMALAN put kroz lavirint od pocetnog polja, do izlaza iz -lavirinta, pri cemu se pod putem smatra niz polja koja je -potrebno posetiti u datom redosledu, da bi se stiglo od -pocetnog polja do cilja. Pri obilasku lavirinta, sa jednog -polja je moguce preci na susedno ako ona imaju istu ivicu, -tj. ako se ono nalazi odmah levo, desno, gore ili dole u -odnosu na trenutno polje. +Neka je dat lavirint kao matrica polja, pri cemu razlicite +vrednosti polja imaju razlicito znacenje. Potrebno je +pronaci OPTIMALAN put kroz lavirint od pocetnog polja, do +izlaza iz lavirinta, pri cemu se pod putem smatra niz polja +koja je potrebno posetiti u datom redosledu, da bi se stiglo +od pocetnog polja do cilja. Pri obilasku lavirinta, sa +jednog polja je moguce preci na susedno ako ona imaju istu +ivicu, tj. ako se ono nalazi odmah levo, desno, gore ili +dole u odnosu na trenutno polje. Znacenja vrednosti polja su; 0 = slobodno polje u lavirintu na koje je dozvoljeno stati @@ -50,33 +50,43 @@ Zadatak ============================================================ Napisati klasu LavirintProgram koja ucitava ime fajla u kojem -se nalazi definisan lavirint, koordinate pocetne pozicije -(x, y) od koje se trazi izlaz iz lavirinta, kao i izbor sta -zelimo da radimo. Nakon ucitanog izbora, klasa treba da ucita -lavirint iz datog fajla, ispise ga na ekran i izvrsi izabranu -operaciju. +se nalazi definisan lavirint, i koordinate pocetne pozicije +(x, y) od koje se trazi izlaz iz lavirinta. -Ponuditi korisniku sledeci izbor: -3 - ispis najkraceg puta od unetog polja do izlaza -4 - ispis najvrednijeg puta od unetog polja do izlaza +Nakon toga naci najkraci put do izlaza u lavirintu +(vrednosti ovde nisu bitne) i ispisati ga na ekran. +Prosiriti nakon toga program tako da nalazi najvredniji +put u lavirintu - odnosno put kojim ce se pokupiti najvise +zlatnika, ali put ne sme da sadrzi isto polje dva puta. +Ispisati i ovaj put na ekran. -Modifikacija pretrazivanja sa vracanjem + +Pretrazivanje sa vracanjem ------------------------------------------------------------ -Jedan od nacina da se uradi zadatak je koriscenjem modifikacije -pretrazivanja sa vracanjem. Potrebne modifikacije su sledece: +Jedan od nacina da se uradi zadatak je koriscenjem +pretrazivanja sa vracanjem. Prethodno je radjen primer u +kome se proverava da li put uopste postoji. Ovde je bitno +naci sve puteve sto je dosta slicno u postavci, samo sto +treba i dalje traziti druge mogucnosti nakon sto se nadje +prvo resenje. + +Neke od modifikacija u odnosu na samo nalazenje jednog puta: 1. Nakon dolaska na odredjeno polje u lavirintu potrebno je -to polje ubaciti na kraj trenutnog puta od pocetka lavirinta +to polje ubaciti na kraj trenutnog puta od pocetka lavirinta do trenutnog polja -2. Nakon povratka sa polja, potrebno je to polje izabaciti sa -kraja trenutnog puta -3. Prilikom obilaska izlaza, potrebno je trenutnu vrednost -puta uporediti sa do sada najoptimalnijim pronadjenim putem -i ukoliko je trenutni put bolji, kopirati ga u optimalan put -4. Vratiti optimalan put ako postoji ili vrednost null ako ne -postoji + +2. Nakon povratka sa polja, potrebno je to polje izabaciti +sa kraja trenutnog puta + +3. Kad se nadje izlaz, potrebno je trenutnu vrednost puta +uporediti sa do sada najoptimalnijim pronadjenim putem i +ukoliko je trenutni put bolji, kopirati ga u optimalan put + +4. Na kraju svih pretraga, vratiti optimalan put ako postoji +ili vrednost null ako ne postoji Neobavezne preporuke: -- 2.17.1