Jump to content
informatician

New problem c++

Recommended Posts

Salut..tot ma chinui cu o problema, si nu i-am dat de capat inca decat pe jumatate.Cam asta ar fi:

Un oras are m strazi bidirectionale, de lungimi cunoscute. Strazile se pot intersecta doar la capete, iar o persoana care porneste dintr-unul

dintre capetele unei strazi, poate sa ajunga în oricare alt capat al oricarei alte strazi, mergând doar pe strazile orasului. Capetele strazilor sunt numerotate cu numerele naturale 1, 2, …, n.

O persoana porneste din capatul X al unei strazi si vrea sa ajunga în capatul Y al unei alte strazi, parcurgând un drum de lungime minima, cu restrictia ca drumul trebuie sa treaca în mod obligatoriu pe strada având capetele A si B. Se stie ca exista întotdeauna un drum elementar de la X la Y, care contine strada având capetele A si B.

Scrieti un program C++ care citeste din fisierul strazi.in numerele n, m, X, Y, A, B cu semnificatia din enuntul de mai sus si m triplete de numere de forma reprezentând capetele strazii si lungimea acesteia si care scrie în fisierul strazi.out:

a) pe prima linie, numarul de strazi care au unul dintre capete în A;

B) pe urmatoarea linie lungimea minima a unui drum care pleaca din X si ajunge în Y trecând prin A si B.

Punctul a e banal..dar punctul b este mai greu si nu l-am rezolvat.Stiu ca se rezolva cu algoritmul lui dijkstra..

Link to comment
Share on other sites

mare cacat ai un graf neorientat conex.

cauta un algoritm de cel mai scurt drum in graf. tu defapt trebui sa aduni cel mai scurt drum din X in A + distanta AB + cel mai scurt drum din B in Y. calculezi si cel mai scurt drum din X in B + distanta AB + cel mai scurt drum din A in Y si vezi care din astea doua e mai scurt. ala e raspunsu.

sper ca nu vrei sa iti dam noi si algoritmu pentru cel mai scurt drum in graf ca deja tzi'am dat problema pe tava gata rezolvata.

Link to comment
Share on other sites

Nu-mi iese ceva..daca e bun careva sa-mi scrie si mie codul de la b..o sa-i multumesc!
Am nevoie de om/oameni care sa ma ajute cu o problema, platesc pt ajutorul prestat daca iese..Pm me.

Sa inteleg ca nu ti-a iesit nimic, corect?

Si apropo, temele pentru scoala nu isi au locul pe un forum de securitate.

Link to comment
Share on other sites

Ai incercat sa traduci din pseudocod in C++ si sa-ti creezi structura de date de care ai nevoie pentru a stoca nodurile ? Ce ajutor mai mare de atat vrei, spune direct: "Platesc suma X pentru cel ce imi rezolva punctul b de la problema, mentionez ca nu stiu sa-l fac, nu am incercat sa fac ceva deoarece cunostintele mele sunt insuficiente si mi-e si sila sa incerc sa invat putin mai mult sa reusesc sa trec peste acest prag, de aceea vreau gata facut si raspund cu 'nu mi-a iesit' la toate intrebarile desi am avut sila imensa macar sa incerc, fiindca asa am fost invatat de mic sa traiesc in puf si sa am totul gata facut pe tava de la ceilalti." ca sa nu mai iasa atat offtopic si cat esti dispus sa platesti ?

Edited by cmiN
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...