Detalii evaluare #64118659

Rezumat problemă

Fie G un graf neorientat conex cu N noduri și M muchii. Nodurile sunt numerotate de la 1 la N iar muchiile au asociate costuri numere naturale date. Un graf parţial al lui G conex şi fără cicluri este denumit arbore parţial. Costul unui arbore parțial este suma costurilor muchiilor arborelui. Deoarece unele muchii pot avea aceelași cost, este posibil ca graful G să aibă mai mulți arbori parțiali de cost minim. Definim o muchie a grafului G ca fiind esențială dacă ea face parte din toți arborii parțiali de cost minim ai lui G. Scrieţi un program care, cunoscând graful, rezolvă următoarele două cerinţe:
1. determină costul unui arbore parțial de cost minim al lui G;
2. determină numărul de muchii esențiale ale grafului G.

Detalii

Problema esentiale Operații I/O esentiale.in/esentiale.out
Limita timp 0.5 secunde Limita memorie Total: 64 MB / Stivă 16 MB
Id soluție #64118659 Utilizator Dragos Eric (GigiMustar)
Fișier esentiale.cpp Dimensiune 1.79 KB
Data încărcării 18 Aprilie 2026, 11:15 Scor/rezultat 71 puncte

Evaluare

Mesaj compilare

esentiale.cpp: In function ‘std::pair<long long int, std::vector<int> > kruskal()’:
esentiale.cpp:44:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<std::tuple<int, int, int, bool> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
   44 |     for(int i = 0; i<edges.size(); i++){
      |                    ~^~~~~~~~~~~~~
esentiale.cpp:45:14: warning: structured bindings only available with ‘-std=c++17’ or ‘-std=gnu++17’ [-Wc++17-extensions]
   45 |         auto [c,x,y,skip] = edges[i];
      |              ^
esentiale.cpp:54:23: warning: comparison of integer expressions of different signedness: ‘std::vector<int>::size_type’ {aka ‘long unsigned int’} and ‘long long int’ [-Wsign-compare]
   54 |         if(apm.size() == n-1) break;
      |            ~~~~~~~~~~~^~~~~~
esentiale.cpp: In function ‘int main()’:
esentiale.cpp:62:10: warning: structured bindings only available with ‘-std=c++17’ or ‘-std=gnu++17’ [-Wc++17-extensions]
   62 |     auto [cost_min, apm_idx] = kruskal();
      |          ^

Rezultat evaluare

Test Timp Mesaj evaluare Scor posibil Scor obținut
0 0.002 secunde OK. 4 4
1 0.001 secunde Raspuns gresit. 5 0
2 0.001 secunde OK. 6 6
3 0.001 secunde Raspuns gresit. 5 0
4 0.001 secunde Raspuns gresit. 6 0
5 0.001 secunde OK. 8 8
6 0.001 secunde Raspuns gresit. 7 0
7 0.003 secunde Raspuns gresit. 6 0
8 0.003 secunde OK. 7 7
9 0.015 secunde OK. 7 7
10 0.037 secunde OK. 8 8
11 0.011 secunde OK. 3 3
12 0.039 secunde OK. 4 4
13 0.062 secunde OK. 8 8
14 0.039 secunde OK. 6 6
15 0.003 secunde OK. 5 5 Exemplu
16 0.001 secunde OK. 5 5 Exemplu
Punctaj total 71

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

Du-te sus!