TraficantX Posted November 11, 2013 Report Posted November 11, 2013 Un automobilist porneste dintr-un oras A si trebuie sa ajunga in orasul B , rezervorul daca este plin , ii permite sa pargurga n kilometri . Pe harta sunt trecute m statii de alimentare si distantele dintre ele . Automobilistul doreste sa opreasca la cat mai putine statii . Scrieti un program care determina statiile de alimentare la care trebuie sa opreasca pentru alimentare.Indicatii:1)Soferul nu trebuie sa opreasca neaparat cand are rezervorul gol.2)Datele se citesc dintr-un fisier text.3)Va recomand sa folositi metoda Greedy.Solvers :----- Quote
shop_toolz Posted November 11, 2013 Report Posted November 11, 2013 O singura observatie am. Din memoriile mele Greedy pe care o recomanzi are un mic clitch. Construirea pas cu pas a solutiei se cam bate cap in cap cu conditia ta ca nu trebuie sa aiba rezervorul gol. Practic, trebuie verificat la care din urmatoarele statii va avea cat mai putina benzina in rezervor, asta la fiecare trecere prin while-ul de la greedy(daca imi aduc aminte cu while era). Dar pot exista solutii in care este optim sa nu opreasca atunci cand are neaparat mai putina benzina in rezervor. In fine, e un pic mind twisting, o sa incerc sa vin cu o rezolvare greedy si un contraexemplu pentru care metoda greseste. Quote
Active Members dancezar Posted November 11, 2013 Active Members Report Posted November 11, 2013 O singura observatie am. Din memoriile mele Greedy pe care o recomanzi are un mic clitch. Construirea pas cu pas a solutiei se cam bate cap in cap cu conditia ta ca nu trebuie sa aiba rezervorul gol. Practic, trebuie verificat la care din urmatoarele statii va avea cat mai putina benzina in rezervor, asta la fiecare trecere prin while-ul de la greedy(daca imi aduc aminte cu while era). Dar pot exista solutii in care este optim sa nu opreasca atunci cand are neaparat mai putina benzina in rezervor. In fine, e un pic mind twisting, o sa incerc sa vin cu o rezolvare greedy si un contraexemplu pentru care metoda greseste.nu neaparat in while merge si in for ,incerc si eu acuma// o singura nelamurire deci rezervoru ii permite sa merga n kilometri ,trebuie sa citesc si distanta in km de la A la B Quote
TraficantX Posted November 11, 2013 Author Report Posted November 11, 2013 Da , din fisier se citesc , distanta de la A la B(adica n) si distantele dintre statii.Si da , greedy merge facut cu for nu doar cu while Quote
TraficantX Posted November 12, 2013 Author Report Posted November 12, 2013 Nimeni ma!? Asa de grea e? Quote
qwerty12 Posted November 12, 2013 Report Posted November 12, 2013 Arata-ne dovada ca ai facut-o tu ... Probabil e tema pentru scoala Quote
sevenziparchive Posted November 14, 2013 Report Posted November 14, 2013 Nu m-am obosit sa invat greedy, cea mai simpla metoda pare sa fie de genul:cat timp n-ai ajuns la n (sau mai ai de citit statii din fisier)citeste km statieidaca poti junge, scazi din rezervordaca nu poti ajunge, afiseaza oprirea la statia 'contor statie' (sau incrementezi contorul nr opriri) si incarca rezervorincrementeaza contor statiesf cat timpnu am mentionat implementarea variabilelor.te descurci cu transcrierea in cod, sper...bafta! Quote
Active Members dancezar Posted November 14, 2013 Active Members Report Posted November 14, 2013 am facut problema trimitemi pm cu rezolvarea ta si apoi am sa ti-o trimit pe a mea Quote