Detalii evaluare #15375595

Rezumat problemă

Trei ubuntzei au hotărât ca anul acesta să petreacă ziua de 1 Mai pe malul Mării Negre împreună cu prietenii lor, motiv pentru care au pus la cale o excursie pe un traseu care să plece din oraşul lor Cluj-Napoca spre Vama Veche, unde nisipul îi aşteaptă.

În ţara ubuntzeilor există N localităţi, numerotate de la 1 la N, legate între ele prin M şosele bidirecţionale de diferite lungimi. Localitatea de plecare a ubuntzeilor, oraşul Cluj-Napoca, este numerotată cu 1, iar localitatea destinaţie, Vama Veche, cu N. Între oricare două localităţi există cel mult o şosea. Fiecare şosea uneşte două localităţi distincte şi se poate călători între oricare două localităţi circulând numai pe şosele.
Prietenii ubuntzeilor locuiesc în K localităţi distincte, diferite de Cluj-Napoca şi Vama Veche. Pentru a nu călători singuri, cei trei ubuntzei vor să treacă prin cele K localităţi în care locuiesc prietenii lor, şi apoi, împreună cu aceştia, să-şi continue excursia către mare.

Nerăbdători să ajungă cât mai repede la destinaţie, ubuntzeii s-au hotărât să îşi stabilească un traseu de lungime minimă care să treacă prin toate cele K localităţi.

Scrieţi un program care să determine, pentru ubuntzei, lungimea minimă L a unui traseu de la Cluj-Napoca la Vama Veche ce trece prin toate cele K localităţi.

Detalii

Problema Ubuntzei Operații I/O ubuntzei.in/ubuntzei.out
Limita timp 1 secunde Limita memorie Total: 32 MB / Stivă 20 MB
Id soluție #15375595 Utilizator Filp Teodor (FilpTeodor)
Fișier ubuntzei.cpp Dimensiune 2.61 KB
Data încărcării 11 Aprilie 2019, 17:24 Scor / rezultat Eroare de compilare

Evaluare


Mesaj compilare

ubuntzei.cpp: In function 'int main()':
ubuntzei.cpp:44:16: error: 'INT_MAX' was not declared in this scope
     int mini = INT_MAX;

                ^
ubuntzei.cpp: In function 'int getMin(int*, bool*)':
ubuntzei.cpp:88:15: error: 'INT_MAX' was not declared in this scope
     int min = INT_MAX, min_index;

               ^
ubuntzei.cpp:92:28: error: 'min_index' was not declared in this scope
             min = dist[v], min_index = v;

                            ^
ubuntzei.cpp:94:12: error: 'min_index' was not declared in this scope
     return min_index;

            ^
ubuntzei.cpp: In function 'int* dijkstra(int)':
ubuntzei.cpp:103:19: error: 'INT_MAX' was not declared in this scope
         dist[i] = INT_MAX, sptSet[i] = false;

                   ^
ubuntzei.cpp:116:62: error: 'INT_MAX' was not declared in this scope
             if (!sptSet[*it] && matAdj[u][*it] && dist[u] != INT_MAX && dist[u] + matAdj[u][*it] < dist[*it])

                                                              ^
ubuntzei.cpp: In function 'int getMin(int*, bool*)':
ubuntzei.cpp:95:1: warning: control reaches end of non-void function [-Wreturn-type]
 }

 ^

Cum funcționează evaluarea?

www.pbinfo.ro permite evaluarea a două tipuri de probleme:

  • probleme la care rezolvarea presupune scrierea unui program complet
  • probleme la care rezolvarea presupune scrierea unei secvențe de program - câteva instrucțiuni, o listă de declarații, una sau mai multe funcții, etc.

Problema Ubuntzei face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:

  • Programul sursă este compilat folosind compilatorul corespunzător. Dacă în urma compilării se obțin erori sau avertismente, acestea sunt afișate în această pagină.
  • Dacă programul a fost compilat, executabilul obținut va fi rulat, furnizându-i-se unul sau mai multe seturi de date de intrare, în concordanță cu restricțiile specifice problemei. Pentru fiecare set de date se obține un anumit punctaj, în raport cu corectitudinea soluției tale.

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