Detalii evaluare #23771619

Rezumat problemă

#1351 nano

În lumea lui Nano totul se construiește la nivel atomic. Știința a ajuns așa departe încât poate construi ”plăci” dreptunghiulare de atomi în care aceștia sunt aliniați perfect, pe un singur strat, formând un rastru. Nano dorește să comande la o firmă plăci pătrate de dimensiuni mari. Dimensiunile sunt atât de mari încât numărul de atomi dintr-o placă poate să fie scris cu până la 500 cifre. Firma i-a dat o listă cu bucățile de material de care dispune, pentru fiecare bucată fiind cunoscut numărul de atomi componenți, urmând ca Nano să aleagă doar acele bucăți din care se pot construi plăci pătrate.

Scrieți un program care citind numărul de atomi ai fiecărei bucăți de material din fișierul nano.in scrie în fișierul nano.out doar bucățile de material din care se pot face plăcile dorite de Nano.

Detalii

Problema nano Operații I/O nano.in/nano.out
Limita timp 0.5 secunde Limita memorie Total: 2 MB / Stivă 1 MB
Id soluție #23771619 Utilizator Lupascu Oana (oanamaria)
Fișier nano.cpp Dimensiune 5.13 KB
Data încărcării 27 August 2020, 09:59 Scor / rezultat 80 puncte

Evaluare


Mesaj compilare

nano.cpp: In function 'void AtribHuge(long long unsigned int*, long long unsigned int*)':
nano.cpp:20:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for (i = 0; i <= X[0]; ++i) {

                       ^
nano.cpp: In function 'void Add(long long unsigned int*, long long unsigned int*)':
nano.cpp:30:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     { for (i=A[0]+1;i<=B[0];) A[i++]=0; // atunci completez pe A cu zerouri nesemnificative

                           ^
nano.cpp:33:30: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     else for (i=B[0]+1;i<=A[0];) B[i++]=0; // altfel completez pe B cu zerouri nesemnificative

                              ^
nano.cpp:34:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for (i=1;i<=A[0];i++) // Efectuam adunarea tinand cont de transportllu T

                  ^
nano.cpp: In function 'void Subtract(long long unsigned int*, long long unsigned int*)':
nano.cpp:46:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for (i=B[0]+1;i<=A[0];) B[i++]=0;

                       ^
nano.cpp:47:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for (i=1;i<=A[0];i++)

                  ^
nano.cpp: In function 'void MllutHuge(long long unsigned int*, long long unsigned int*, long long unsigned int*)':
nano.cpp:60:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for (i=1;i<=A[0]+B[0];) C[i++]=0;

                       ^
nano.cpp:61:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for (i=1;i<=A[0];i++)

                  ^
nano.cpp:62:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (j=1;j<=B[0];j++)

                    ^
nano.cpp:64:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for (i=1;i<=C[0];i++)

                  ^
nano.cpp: In function 'void afisez(long long unsigned int*)':
nano.cpp:110:27: warning: format '%llu' expects argument of type 'long long unsigned int', but argument 3 has type 'int' [-Wformat=]
         fprintf(g,"%llu",0);

                           ^
nano.cpp: In function 'int main()':
nano.cpp:174:22: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     fscanf(f,"%d",&n);

                      ^
nano.cpp:178:28: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         fscanf(f,"%d\n",&x);

                            ^
nano.cpp:181:25: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         fscanf(f,"%s",s);

                         ^

Rezultat evaluare

Test Timp Mesaj evaluare Scor posibil Scor obținut
1 0 secunde OK. 10 10
2 0 secunde OK. 10 10
3 0 secunde OK. 10 10
4 0.004 secunde OK. 10 10
5 0.016 secunde OK. 10 10
6 0.064 secunde OK. 10 10
7 0.252 secunde OK. 10 10
8 0.232 secunde OK. 10 10
9 Depășit Limita de timp depășită 10 0
10 Depășit Limita de timp depășită 10 0
Punctaj total 80

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