#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 | #50354051 | Utilizator | |
Fișier | parchet.cpp | Dimensiune | 3.51 KB |
Data încărcării | 05 Aprilie 2024, 17:51 | Scor / rezultat | Eroare de compilare |
parchet.cpp:7:43: error: 'int index' redeclared as different kind of symbol int d,i,j,c,n,m,r,fr[21],nr,nrgay,nrgprev,index,aux; ^ In file included from /usr/include/c++/4.8/cstring:42:0, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:48, from parchet.cpp:1: /usr/include/string.h:482:1: error: previous declaration of 'const char* index(const char*, int)' index (const char *__s, int __c) __THROW ^ parchet.cpp: In function 'int main()': parchet.cpp:20:22: error: no post-increment operator for type index++; ^ parchet.cpp:68:25: error: invalid types 'int [21][<unresolved overloaded function type>]' for array subscript fr[index]=nrgay; ^ parchet.cpp:75:22: error: invalid operands of types 'int [21]' and '<unresolved overloaded function type>' to binary 'operator+' sort(fr+1,fr+index+1); ^ parchet.cpp:78:14: error: cannot resolve overloaded function 'index' based on conversion to type 'int' for(i=index; i>0 && sum<r; i--) ^ parchet.cpp:80:21: error: invalid operands of types '<unresolved overloaded function type>' and 'int' to binary 'operator-' fout<<index-i-1<<' '<<r-(sum-fr[i+1]); ^ parchet.cpp:84:17: error: invalid operands of types 'int' and '<unresolved overloaded function type>' to binary 'operator<=' for(i=1; i<=index; i++) ^ parchet.cpp:91:21: error: invalid operands of types 'int' and '<unresolved overloaded function type>' to binary 'operator<=' for(i=1; i<=index && awtism[i]>1; i++) ^ parchet.cpp:96:21: error: invalid operands of types 'int' and '<unresolved overloaded function type>' to binary 'operator<=' for(i=1; i<=index; i++) ^
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ă.