#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.
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 | #51498155 | Utilizator | |
Fișier | nano.cpp | Dimensiune | 5.13 KB |
Data încărcării | 28 Iunie 2024, 18:36 | Scor / rezultat | 80 puncte |
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); ^
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 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema nano face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
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ă.