#1703
Parchet
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 | #50345989 | Utilizator | |
Fișier | parchet.cpp | Dimensiune | 783 B |
Data încărcării | 05 Aprilie 2024, 12:11 | Scor / rezultat | Eroare de compilare |
parchet.cpp:2:165: error: redefinition of 'int m' using namespace std; ifstream fin("parchet.in");ofstream fout("parchet.out");short int nr1[252]; struct stdr{int st,dr,ind;}linii[126][126]; int n,m,r,c,i,j,nr,s,d,m,s1,s1,m1; char lit; ^ parchet.cpp:2:148: error: 'int m' previously declared here using namespace std; ifstream fin("parchet.in");ofstream fout("parchet.out");short int nr1[252]; struct stdr{int st,dr,ind;}linii[126][126]; int n,m,r,c,i,j,nr,s,d,m,s1,s1,m1; char lit; ^ parchet.cpp:2:170: error: redefinition of 'int s1' using namespace std; ifstream fin("parchet.in");ofstream fout("parchet.out");short int nr1[252]; struct stdr{int st,dr,ind;}linii[126][126]; int n,m,r,c,i,j,nr,s,d,m,s1,s1,m1; char lit; ^ parchet.cpp:2:167: error: 'int s1' previously declared here using namespace std; ifstream fin("parchet.in");ofstream fout("parchet.out");short int nr1[252]; struct stdr{int st,dr,ind;}linii[126][126]; int n,m,r,c,i,j,nr,s,d,m,s1,s1,m1; char lit; ^ parchet.cpp: In function 'int main()': parchet.cpp:9:23: error: 'ind' was not declared in this scope for(i=1;i<=n;i++){ind=1;for(j=1;j<=nr1[i];j++){s=1;d=nr1[i];s1=1;d1=nr1[i];m=(s+d)/2;m1=(s1+d1)/2;while(s1<=d1 && s<=d){}}} ^ parchet.cpp:9:70: error: 'd1' was not declared in this scope for(i=1;i<=n;i++){ind=1;for(j=1;j<=nr1[i];j++){s=1;d=nr1[i];s1=1;d1=nr1[i];m=(s+d)/2;m1=(s1+d1)/2;while(s1<=d1 && s<=d){}}} ^
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ă.