#3513
Covoare1
Se consideră o încăpere de lungime n
și lățime m
împărțită în n*m
zone pătrate, sub forma unei matrice cu n
linii și m
coloane. Încăperea este acoperită în totalitate cu p
covoare de diferite dimensiuni astfel încât acestea nu se suprapun, fiecare zonă pătrată a încăperii fiind acoperită de exact un covor.
Miguel, administratorul clădirii, este responsabil cu spălarea covoarelor. Astfel, el a notat dimensiunile fiecărui covor, în ordine, de sus în jos și de la stânga la dreapta. Covoarele au fost scoase și spălate, iar acum Gigel vă cere ajutorul.
Cunoscând dimensiunile încăperii, numărul de covoare precum și dimensiunile fiecărui covor, să se refacă așezarea inițială a acestora.
Problema | Covoare1 | Operații I/O |
covoare1.in /covoare1.out
|
---|---|---|---|
Limita timp | 1 secunde | Limita memorie |
Total: 10 MB
/
Stivă 10 MB
|
Id soluție | #50419252 | Utilizator | |
Fișier | covoare1.cpp | Dimensiune | 1.16 KB |
Data încărcării | 08 Aprilie 2024, 23:17 | Scor / rezultat | Eroare de compilare |
covoare1.cpp:8:54: error: 'int rand [1000001]' redeclared as different kind of symbol int n, m, p, i, j, pi, pj, col[1000001], rand[1000001], ok, x, y, plin, aux; ^ In file included from /usr/include/c++/4.8/cstdlib:72:0, from /usr/include/c++/4.8/ext/string_conversions.h:41, from /usr/include/c++/4.8/bits/basic_string.h:2815, from /usr/include/c++/4.8/string:52, from /usr/include/c++/4.8/bits/locale_classes.h:40, from /usr/include/c++/4.8/bits/ios_base.h:41, from /usr/include/c++/4.8/ios:42, from /usr/include/c++/4.8/istream:38, from /usr/include/c++/4.8/fstream:38, from covoare1.cpp:1: /usr/include/stdlib.h:374:12: error: previous declaration of 'int rand()' extern int rand (void) __THROW; ^ covoare1.cpp: In function 'int main()': covoare1.cpp:17:15: warning: pointer to a function used in arithmetic [-Wpointer-arith] rand[j] = rand[j] + pj; ^ covoare1.cpp:17:25: warning: pointer to a function used in arithmetic [-Wpointer-arith] rand[j] = rand[j] + pj; ^ covoare1.cpp:17:29: warning: pointer to a function used in arithmetic [-Wpointer-arith] rand[j] = rand[j] + pj; ^ covoare1.cpp:17:17: error: assignment of read-only location '*(rand + ((sizetype)j))' rand[j] = rand[j] + pj; ^ covoare1.cpp:17:17: error: cannot convert 'int (*)()throw ()' to 'int()throw ()' in assignment covoare1.cpp:18:18: warning: pointer to a function used in arithmetic [-Wpointer-arith] if(rand[j] == m) ^ covoare1.cpp:18:23: error: ISO C++ forbids comparison between pointer and integer [-fpermissive] if(rand[j] == m) ^ covoare1.cpp:35:19: warning: pointer to a function used in arithmetic [-Wpointer-arith] rand[j] = rand[j] + pj; ^ covoare1.cpp:35:29: warning: pointer to a function used in arithmetic [-Wpointer-arith] rand[j] = rand[j] + pj; ^ covoare1.cpp:35:33: warning: pointer to a function used in arithmetic [-Wpointer-arith] rand[j] = rand[j] + pj; ^ covoare1.cpp:35:21: error: assignment of read-only location '*(rand + ((sizetype)j))' rand[j] = rand[j] + pj; ^ covoare1.cpp:35:21: error: cannot convert 'int (*)()throw ()' to 'int()throw ()' in assignment covoare1.cpp:36:22: warning: pointer to a function used in arithmetic [-Wpointer-arith] if(rand[j] == m) ^ covoare1.cpp:36:27: error: ISO C++ forbids comparison between pointer and integer [-fpermissive] if(rand[j] == m) ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Covoare1 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ă.