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; 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..