#3768
taieri
Avem la dispoziție n
bare metalice cu aceeași grosime, dar lungimi diferite. Putem alege oricare bară și să o tăiem, obținând alte două bare de lungimi mai mici. Ne dorim ca, folosind doar această operație (deci fără să le putem suda), să obținem un număr de bare de anumite lungimi date. Mai exact, dându-se un set de patru numere a
, b
, c
, d
, trebuie să decidem dacă putem obține a
bare de lungime 1
, b
bare de lungime 2
, c
bare de lungime 4
și d
bare de lungime 8
. Odată aplicată o tăiere de lungime L
asupra unei bare, restul poate fi în continuare folosit pentru a tăia alte bare de oricare dintre lungimile dorite. Cunoscând n
– numărul de bare metalice și lungimile celor n
bare metalice avute la dispoziție, pentru fiecare din seturile de patru numere a b c d
date, determinați dacă, pornind de la cele n
lungimi date se pot obține barele de lungimile dorite.
ONSEPI, 2021, clasa a V-a
Problema | taieri | Operații I/O |
taieri.in /taieri.out
|
---|---|---|---|
Limita timp | 0.3 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #55144485 | Utilizator | |
Fișier | taieri.cpp | Dimensiune | 1.39 KB |
Data încărcării | 30 Decembrie 2024, 12:29 | Scor / rezultat | 40 puncte |
taieri.cpp: In function 'int main()': taieri.cpp:11:22: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] fscanf(fin,"%d",&n); ^ taieri.cpp:13:27: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] fscanf(fin,"%d",&v[i]); ^ taieri.cpp:15:22: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] fscanf(fin,"%d",&m); ^ taieri.cpp:17:39: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] fscanf(fin,"%d%d%d%d",&a,&b,&c,&d); ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
1 | 0 secunde | OK. | 4 | 4 | ||
2 | 0 secunde | OK. | 4 | 4 | ||
3 | 0 secunde | OK. | 4 | 4 | ||
4 | 0 secunde | OK. | 4 | 4 | ||
5 | 0 secunde | OK. | 4 | 4 | ||
6 | 0 secunde | Raspuns gresit. | 4 | 0 | ||
7 | 0 secunde | Raspuns gresit. | 4 | 0 | ||
8 | 0 secunde | OK. | 4 | 4 | ||
9 | 0 secunde | Raspuns gresit. | 4 | 0 | ||
10 | 0.004 secunde | Raspuns gresit. | 4 | 0 | ||
11 | 0.008 secunde | Raspuns gresit. | 4 | 0 | ||
12 | Depășit | Limita de timp depășită | 4 | 0 | ||
13 | Depășit | Limita de timp depășită | 4 | 0 | ||
14 | Depășit | Limita de timp depășită | 4 | 0 | ||
15 | Depășit | Limita de timp depășită | 4 | 0 | ||
16 | Depășit | Limita de timp depășită | 4 | 0 | ||
17 | Depășit | Limita de timp depășită | 4 | 0 | ||
18 | Depășit | Limita de timp depășită | 4 | 0 | ||
19 | Depășit | Limita de timp depășită | 4 | 0 | ||
20 | Depășit | Limita de timp depășită | 4 | 0 | ||
21 | Depășit | Limita de timp depășită | 4 | 0 | ||
22 | 0.196 secunde | OK. | 4 | 4 | ||
23 | 0.144 secunde | OK. | 4 | 4 | ||
24 | 0.204 secunde | OK. | 4 | 4 | ||
25 | 0.06 secunde | OK. | 4 | 4 | ||
Punctaj total | 40 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema taieri 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ă.