#1703
Meseria de parchetar a devenit mai uşoară de când a apărut parchetul laminat. Acesta se livrează în plăci pătratice de câte 1
m2 şi montarea lui este destul de uşoară. Gigel este convins că este suficient de priceput să facă această operaţie în propria locuinţă. El dispune de planul locuinţei şi a cumpărat o anumită cantitate reprezentând X
m2 de parchet laminat. Planul locuinţei este descris printr-un tablou bidimensional de dimensiuni N x M
, fiecare element al tabloului reprezentând exact 1
m2. Pereţii sunt reprezentaţi prin caracterul ‘P’
iar suprafeţele camerelor prin caracterul ‘S’
(spaţiu). În planul din figura următoare este descrisă o locuinţă cu 5
camere acestea având respectiv, suprafeţele de 10
, 2
, 1
, 3
, 5
m2.
PPPPPPPPP PSSSPSPSP PSSSPSPPP PSSPPPPSP PSPPSSPSP PSPSSSPSP PPPPPPPPP
Gigel nu este sigur de faptul că parchetul cumpărat îi ajunge. Din această cauză a hotărât iniţial să pună parchetul începând cu camera cea mai mare, apoi în următoarea, în ordinea descrescătoare a suprafeţei şi aşa mai departe, până în momentul în care parchetul rămas nu mai este suficient pentru acoperirea suprafeţei următoarei camere. Nu va lăsa neparchetată o cameră pentru a parcheta una cu o suprafaţă mai mică.
Gigel se mai gândeşte şi la posibilitatea de a acoperi complet un număr maxim de camere folosind întreaga cantitate de parchet.
Fiind date N
, M
, X
şi planul locuinţei să se determine:
C
de camere pe care a reuşit să le acopere Gigel şi numărul R
de m2 de parchet care îi rămân, procedând aşa cum a hotărât iniţial;Problema | Parchet | Operații I/O |
![]() parchet.in /parchet.out
|
---|---|---|---|
Limita timp | 0.3 secunde | Limita memorie |
Total: 2 MB
/
Stivă 2 MB
|
Id soluție | #57419981 | Utilizator | |
Fișier | parchet.cpp | Dimensiune | 1.50 KB |
Data încărcării | 30 Martie 2025, 19:02 | Scor / rezultat | Eroare de compilare |
parchet.cpp:14:34: error: expected ',' or '...' before 'i' unsigned short f(unsigned int8_t i,unsigned int8_t j) ^ parchet.cpp: In function 'short unsigned int f(unsigned int)': parchet.cpp:16:10: error: 'i' was not declared in this scope if(b[i][j]) ^ parchet.cpp:16:13: error: 'j' was not declared in this scope if(b[i][j]) ^ parchet.cpp:18:7: error: 'i' was not declared in this scope b[i][j]=1; ^ parchet.cpp:18:10: error: 'j' was not declared in this scope b[i][j]=1; ^ parchet.cpp: In function 'void bc(int, int, int)': parchet.cpp:25:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if(n==v.size()) ^ parchet.cpp: In function 'int main()': parchet.cpp:61:34: error: too many arguments to function 'short unsigned int f(unsigned int)' v.push_back(f(i,j)); ^ parchet.cpp:14:16: note: declared here unsigned short f(unsigned int8_t i,unsigned int8_t j) ^ parchet.cpp:65:30: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int i=0;i<v.size();i++) ^ parchet.cpp: In function 'short unsigned int f(unsigned int)': parchet.cpp:20:1: warning: control reaches end of non-void function [-Wreturn-type] } ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Parchet 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ă.