Detalii evaluare #41588568

Rezumat problemă

#2169 cezar1

În Roma antică există n așezări senatoriale distincte, câte una pentru fiecare dintre cei n senatori ai Republicii. Așezările senatoriale sunt numerotate de la 1 la n, între oricare două așezări existând legături directe sau indirecte. O legătură este directă dacă ea nu mai trece prin alte așezări senatoriale intermediare. Edilii au pavat unele dintre legăturile directe dintre două așezări (numind o astfel de legătură pavată stradă), astfel încât între oricare două așezări senatoriale să existe o singură succesiune de străzi prin care se poate ajunge de la o așezare senatorială la cealaltă.
Toţi senatorii trebuie să participe la şedinţele Senatului. In acest scop, ei se deplasează cu lectica. Orice senator care se deplasează pe o stradă plăteşte 1 ban pentru că a fost transportat cu lectica pe acea stradă.

La alegerea sa ca prim consul, Cezar a promis că va dota Roma cu o lectică gratuită care să circule pe un număr de k străzi ale Romei astfel încât orice senator care va circula pe străzile respective, să poată folosi lectica gratuită fără a plăti. Străzile pe care se deplasează lectica gratuită trebuie să fie legate între ele (zborul, metroul sau teleportarea nefiind posibile la acea vreme).

În plus, Cezar a promis să stabilească sediul sălii de şedinţe a Senatului într-una dintre aşezările senatoriale aflate pe traseul lecticii gratuite. Problema este de a alege cele k străzi şi amplasarea sediului sălii de şedinţe a Senatului astfel încât, prin folosirea transportului gratuit, senatorii, în drumul lor spre sala de şedinţe, să facă economii cât mai însemnate. În calculul costului total de transport, pentru toţi senatorii, Cezar a considerat că fiecare senator va călători exact o dată de la aşezarea sa până la sala de şedinţe a Senatului.

Scrieţi un program care determină costul minim care se poate obţine prin alegerea adecvată a celor k străzi pe care va circula lectica gratuită şi a locului de amplasare a sălii de ședință a Senatului.

Detalii

Problema cezar1 Operații I/O cezar1.in/cezar1.out
Limita timp 0.5 secunde Limita memorie Total: 2 MB / Stivă 1 MB
Id soluție #41588568 Utilizator Andrei Cristian-Florentin (cristiflorentin)
Fișier cezar1.cpp Dimensiune 1.34 KB
Data încărcării 29 Ianuarie 2023, 14:26 Scor / rezultat 90 puncte

Evaluare


Mesaj compilare

cezar1.cpp: In function 'void dfs(int, int)':
cezar1.cpp:18:29: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int j=0;j<a[i].size();j++){

                             ^
cezar1.cpp: In function 'void dfs2(int, int)':
cezar1.cpp:31:29: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int j=0;j<a[i].size();j++){

                             ^
cezar1.cpp: In function 'int main()':
cezar1.cpp:43:13: warning: unused variable 'm' [-Wunused-variable]
     int n,k,m,i,j,k1,s=0;

             ^
cezar1.cpp:43:15: warning: unused variable 'i' [-Wunused-variable]
     int n,k,m,i,j,k1,s=0;

               ^
cezar1.cpp:43:17: warning: unused variable 'j' [-Wunused-variable]
     int n,k,m,i,j,k1,s=0;

                 ^

Rezultat evaluare

Test Timp Mesaj evaluare Scor posibil Scor obținut
0 Depășit Limita de timp depășită 5 0
1 0 secunde OK. 5 5
2 0 secunde OK. 5 5
3 0 secunde OK. 5 5
4 0 secunde OK. 5 5
5 0 secunde OK. 5 5
6 0 secunde OK. 5 5
7 0 secunde OK. 5 5
8 0.004 secunde OK. 5 5
9 0.004 secunde OK. 5 5
10 0.004 secunde OK. 5 5
11 0.028 secunde OK. 5 5
12 0.024 secunde OK. 5 5
13 0.036 secunde OK. 5 5
14 0.06 secunde OK. 5 5
15 0 secunde OK. 5 5
16 0.068 secunde OK. 5 5
17 0.124 secunde OK. 5 5
18 0.176 secunde OK. 5 5
19 Depășit Limita de timp depășită 5 0
Punctaj total 90

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