Ideea este buna si complexitatea la fel, sortarea este nlogn iar BFS se poate face in O( N ), deoarece poti trece doar o singura data peste un nod, doar ca nu ai implimentat bine, bfs poti sa-l faci pina cind nu ai ajuns in nodul destinatie dar nu pina cind nu mai ai noduri in coada, apoi nu ti se pare ca urmatoarea segventa de program:
Cod:
for(int i=1;i<mm;i++){
int poz=-1,costt=cost2[j];
for(int k=1;k<=m;k++)
if(cost[k] == costt && !uz[k] ){
poz=k;
uz[k]=1;
break;
}
if( poz>=1 && poz<=m )
save[++nn]=poz;
}
i-a cam mult timp, daca am inteles corect la tine mm este lungimea drumului minim de la sursa la destinatie care poate fi maxim n-1,
apoi daca costurile pe care tu le cauti se afla aproape de m complexitatea acestei segvente se apropie de n^2, de aceea si ai TLE.
Incearca sa implimentezi ideea de mai sus eficient si sigur o sa ai un timp mult mai mic decit limita.
Vezi ca drumul poti sa-l afli in O ( N ) daca pentru fiecare nod memorezi nodul din care ai venit si numarul la muchia pe care ai venit in nodul respectiv, apoi repartizezi celalalte costuri parcurgind o singura data toate muchiile si complexitatea finala va fi de aproximativ nlogn+n
