Detalii evaluare #49948488

Rezumat problemă

Cu ocazia sărbătoririi marii victorii de la ONI2017, cei 10 Bistrițeni au pornit la drum cu scopul de a-și întemeia o țară. După multe dezbateri, aceștia s-au hotărât să o numească Zoomba. Și au mers ei ce au mers, până au ajuns într-un ținut pustiu, iar atunci, marele Zoli a spus: “Și aici să fie întemeiată Zoomba!” (La început, Zoomba nu are niciun oraș). Iulia are sarcina de a construi orașele, iar Maria va construi drumurile ce vor conecta orașele. Astfel, se disting următoarele evenimente:

  • 1: Iulia construiește un nou oraș. Dacă ultimul oraș construit este orașul x, atunci noul oraș va fi x + 1 (Dacă nu există niciun oraș în acel moment, atunci noul oraș construit va fi 1).
  • 2 x y c: Maria propune construcția unui drum bidirecțional ce leagă orașul x de orașul y de cost c.
  • 3 x: Zoli se întreabă care este costul minim pentru a lega un număr maxim de orașe (folosind drumurile propuse de Maria) cu scopul construirii unui județ (un județ este o grupare de orașe în care se poate ajunge din orice oraș în orice alt oraș) ce conține orașul x.

Scrieți un program care procesează M evenimente de tipurile precizate mai sus, și afișează în fișierul de ieșire rezultatele evenimentelor de tipul 3.

Detalii

Problema episodul1 Operații I/O episodul1.in/episodul1.out
Limita timp 0.15 secunde Limita memorie Total: 16 MB / Stivă 8 MB
Id soluție #49948488 Utilizator A. P Miruna (MiruAp)
Fișier episodul1.cpp Dimensiune 8.19 KB
Data încărcării 20 Martie 2024, 20:11 Scor / rezultat Eroare de compilare

Evaluare


Mesaj compilare

episodul1.cpp:358:1: error: stray '\304' in program
 Nu uita să acorzi o notă soluției!

 ^
episodul1.cpp:358:1: error: stray '\203' in program
episodul1.cpp:358:1: error: stray '\304' in program
episodul1.cpp:358:1: error: stray '\203' in program
episodul1.cpp:358:1: error: stray '\310' in program
episodul1.cpp:358:1: error: stray '\233' in program
episodul1.cpp:368:1: error: stray '\342' in program
 5 Stars5/5•

 ^
episodul1.cpp:368:1: error: stray '\200' in program
episodul1.cpp:368:1: error: stray '\242' in program
episodul1.cpp:358:1: error: 'Nu' does not name a type
 Nu uita să acorzi o notă soluției!

 ^
episodul1.cpp:385:7: error: redefinition of 'class InParser'
 class InParser {

       ^
episodul1.cpp:13:7: error: previous definition of 'class InParser'
 class InParser {

       ^
episodul1.cpp:495:7: error: redefinition of 'class OutParser'
 class OutParser {

       ^
episodul1.cpp:124:7: error: previous definition of 'class OutParser'
 class OutParser {

       ^
episodul1.cpp:611:14: error: redefinition of 'InParser fin'
 InParser  fin("episodul1.in");

              ^
episodul1.cpp:239:10: error: 'InParser fin' previously declared here
 InParser fin("episodul1.in");

          ^
episodul1.cpp:613:15: error: redefinition of 'OutParser fout'
 OutParser fout("episodul1.out");

               ^
episodul1.cpp:241:11: error: 'OutParser fout' previously declared here
 OutParser fout("episodul1.out");

           ^
episodul1.cpp:622:15: error: conflicting declaration 'int t [1000002]'
 int t[maxn + 2], rang[maxn + 2];

               ^
episodul1.cpp:246:5: error: 't' has a previous declaration as 'int t'
 int t;

     ^
episodul1.cpp: In function 'int get_root(int)':
episodul1.cpp:630:11: error: invalid types 'int[int]' for array subscript
     if(t[i] == i)

           ^
episodul1.cpp:634:15: error: invalid types 'int[int]' for array subscript
     return t[i] = get_root(t[i]);

               ^
episodul1.cpp:634:31: error: invalid types 'int[int]' for array subscript
     return t[i] = get_root(t[i]);

                               ^
episodul1.cpp: In function 'void unite(int, int, int)':
episodul1.cpp:638:6: error: redefinition of 'void unite(int, int, int)'
 void unite(int r1, int r2, int cost){

      ^
episodul1.cpp:268:6: error: 'void unite(int, int, int)' previously defined here
 void unite(int a, int b, int cost)

      ^
episodul1.cpp:642:13: error: invalid types 'int[int]' for array subscript
         t[r2] = r1, d[r1] += cost + d[r2];

             ^
episodul1.cpp:646:13: error: invalid types 'int[int]' for array subscript
         t[r1] = r2;

             ^
episodul1.cpp: In function 'int main()':
episodul1.cpp:659:5: error: redefinition of 'int main()'
 int main(){

     ^
episodul1.cpp:302:5: error: 'int main()' previously defined here
 int main()

     ^
episodul1.cpp:671:18: error: invalid types 'int[int]' for array subscript
             t[++n] = n;

                  ^
episodul1.cpp: In member function 'char InParser::read_ch()':
episodul1.cpp:32:38: warning: ignoring return value of 'size_t fread(void*, size_t, size_t, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
             fread(buff, 1, 4096, fin);

                                      ^
episodul1.cpp: In function 'int get_root(int)':
episodul1.cpp:636: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 episodul1 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ă.