#588
Se dă un graf orientat ponderat – în care fiecare arc are asociat un cost, număr natural strict pozitiv, și un nod p. Să se determine, folosind algoritmul lui Dijkstra, costul minim al drumului de la p la fiecare nod al grafului.
| Problema | Dijkstra | Operații I/O |
dijkstra.in/dijkstra.out
|
|---|---|---|---|
| Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #64159579 | Utilizator | |
| Fișier | dijkstra.cpp | Dimensiune | 1.20 KB |
| Data încărcării | 21 Aprilie 2026, 08:14 | Scor/rezultat | Eroare de compilare |
dijkstra.cpp:4:19: warning: overflow in conversion from ‘long int’ to ‘int’ changes value from ‘1000000000000000’ to ‘-1530494976’ [-Woverflow] 4 | const int infinit=1000000000000000; | ^~~~~~~~~~~~~~~~ dijkstra.cpp: In function ‘int main()’: dijkstra.cpp:23:5: error: ‘S’ was not declared in this scope 23 | S[nods]=1; | ^ dijkstra.cpp:26:9: error: ‘D’ was not declared in this scope 26 | D[i]=C[nodsel][i]; | ^ dijkstra.cpp:26:14: error: ‘C’ was not declared in this scope 26 | D[i]=C[nodsel][i]; | ^ dijkstra.cpp:35:16: error: ‘D’ was not declared in this scope 35 | if(D[j]<dmin) | ^ dijkstra.cpp:43:16: error: ‘D’ was not declared in this scope 43 | if(D[j]<D[nods]+c[nods][j]) | ^ dijkstra.cpp:50:12: error: ‘D’ was not declared in this scope 50 | if(D[i]!=infinit) | ^ dijkstra.cpp:14:11: warning: ignoring return value of ‘int fscanf(FILE*, const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 14 | fscanf(f,"%d",&n); | ~~~~~~^~~~~~~~~~~ dijkstra.cpp:22:10: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 22 | scanf("%d",&nods); | ~~~~~^~~~~~~~~~~~
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Dijkstra face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.